Сборка qBitorrent с qt5 завершается неудачно (работает qt4)

Я хочу собрать qBittorrent v3.4.0alpha с qt5, но я получаю ошибки.

В этой версии qBittorrent по умолчанию используется qt5, но он работает ./configure --with-qt4 && make строит его, используя qt4, который работает нормально. Но я хочу qt5.

Я скачал несколько пакетов qt5, в том числе qtbase5-dev а также qttools5-dev-tools как предложено здесь ( https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qBittorrent-on-Debian-and-Ubuntu). Сценарий конфигурации, кажется, находит то, что ищет:

checking whether Qt4 should be enabled... no
checking for /usr/lib/x86_64-linux-gnu/qt5/bin/qmake... yes
checking for Qt5 qmake >= 5.2.0... /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
checking whether QtDBus should be enabled... yes
checking for Qt5DBus >= 5.2.0... found

Тем не менее я получаю ошибки в процессе компиляции:

compiling base/utils/misc.cpp
base/utils/misc.cpp: In function ‘QString Utils::Misc::osName()’:
base/utils/misc.cpp:647:10: error: ‘prettyProductName’ is not a member of ‘QSysInfo’
     .arg(QSysInfo::prettyProductName())
          ^
base/utils/misc.cpp:648:10: error: ‘kernelVersion’ is not a member of ‘QSysInfo’
     .arg(QSysInfo::kernelVersion())
          ^
base/utils/misc.cpp:649:10: error: ‘currentCpuArchitecture’ is not a member of ‘QSysInfo’
     .arg(QSysInfo::currentCpuArchitecture());
          ^

Может кто-нибудь мне помочь?

1 ответ

Решение

Строительство qbittorrent против qt5 на Трасти Тар требует некоторой тщательной подготовки. Сначала создайте область сборки:

mkdir -pv $HOME/Desktop/qbittorrent_build/{qbittorrent,libtorrent-rasterbar}

Загрузите все необходимые зависимости с помощью этой единственной команды:

sudo apt-get install build-essential checkinstall libboost-dev \
     libboost-system-dev qtbase5-dev qttools5-dev-tools python \
     geoip-database libssl-dev libgeoip-dev pkg-config

Затем скомпилируйте и установите требуемую более новую версию libtorrent-rasterbar со следующей единственной командой (соглашаясь со всеми checkinstall по умолчанию):

cd $HOME/Desktop/qbittorrent_build/libtorrent-rasterbar && \
wget https://github.com/arvidn/libtorrent/releases/download/libtorrent-1_0_9/libtorrent-rasterbar-1.0.9.tar.gz && \
tar xvf libtorrent-rasterbar-1.0.9.tar.gz && \
cd libtorrent-rasterbar-1.0.9 && \
./configure --disable-debug --prefix=/usr --with-libgeoip=system && \
make && sudo checkinstall

Выпускная версия qbittorrent:

Если вы хотите скомпилировать qbittorrent "релиз" версии 3.3.3, затем используйте следующую единственную команду (снова соглашаясь со всеми checkinstall по умолчанию):

cd $HOME/Desktop/qbittorrent_build/qbittorrent && \
wget http://downloads.sourceforge.net/qbittorrent/qbittorrent-3.3.3.tar.gz && \
tar xvf qbittorrent-3.3.3.tar.gz && cd qbittorrent-3.3.3 && \
./configure --prefix=/usr && make && \
sudo checkinstall

Если вам нравится, то вы можете удалить папку $HOME/Desktop/qbittorrent_build хотя лично я бы сохранил файлы для дальнейших экспериментов со сборкой.

Ниже приведен скриншот моей успешной установки:

Разрабатываемая версия qbittorrent:

Однако, если вы хотите скомпилировать и установить версию для qbittorrent, в настоящее время 3.4.0alpha, затем настройте следующую единственную команду:

sudo apt-get install git && \
cd $HOME/Desktop/qbittorrent_build/qbittorrent && \
git clone https://github.com/qbittorrent/qBittorrent --depth 1 && \
cd qBittorrent && ./configure --prefix=/usr && make && \
sudo checkinstall --pkgversion 3.4.0alpha

И это установит 3.4.0 альфа; помните, если вы хотите обновить свой клон git в будущем, чтобы манипулировать --pkgversion опция checkinstall, чтобы вы могли достичь постепенного обновления. Лучше всего использовать date команда...

Ниже приведен скриншот действующей альфа-версии:

И помните, чтобы все ваши торренты были законными:).

Другие вопросы по тегам