Fresh install only installing 3.3.7 #9242

Closed
opened 2026-02-21 20:04:11 -05:00 by deekerman · 25 comments
Owner

Originally created by @killkong1211 on GitHub (Oct 25, 2019).

qBittorrent version and Operating System

(type here)
3.3.7 - OMV (Debian Based)

What is the problem

(type here)
I've just installed qbt for the first time from "sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable" but it's only deploying version 3.3.7
I'm sure I'm just overlooking something but some guidance would be greatly appreciated as I want to update to get it working with Electorrent to use magnets from my other devices.

Originally created by @killkong1211 on GitHub (Oct 25, 2019). ### qBittorrent version and Operating System (type here) 3.3.7 - OMV (Debian Based) ### What is the problem (type here) I've just installed qbt for the first time from "sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable" but it's only deploying version 3.3.7 I'm sure I'm just overlooking something but some guidance would be greatly appreciated as I want to update to get it working with Electorrent to use magnets from my other devices.
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

looks like OMV Linux uses Debian 9 as base. so, that's why only qbittorrent 3.3.7 is available.
adding Ubuntu' ppa that you found will not help, in most cases packages build for Ubuntu will not work for Debian (especially for too old Debian).
so as one way I can suggest to get newer qBittorrent version on that system - just build it from sources (it's easy, especially on debian-based systems), but you also need to build libtorrent.

or just consider to use any other distro (Debian 10 for example)

@Kolcha commented on GitHub (Oct 25, 2019): looks like OMV Linux uses Debian 9 as base. so, that's why only qbittorrent 3.3.7 is available. adding Ubuntu' ppa that you found will not help, in most cases packages build for Ubuntu will not work for Debian (especially for too old Debian). so as one way I can suggest to get newer qBittorrent version on that system - just build it from sources (it's easy, especially on debian-based systems), but you also need to build libtorrent. or just consider to use any other distro (Debian 10 for example)
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

I had a bit of a look into it and it appears when they push out OMV5 it'll be moving to Debian 10, so the fix will come in time with the next major update I guess.

In the meantime are you able to point me to which sources I'd want and maybe a quick tutorial on how to build it?
It'd be much appreciated as I haven't gone as far as building from source in my previous endeavors

@killkong1211 commented on GitHub (Oct 25, 2019): I had a bit of a look into it and it appears when they push out OMV5 it'll be moving to Debian 10, so the fix will come in time with the next major update I guess. In the meantime are you able to point me to which sources I'd want and maybe a quick tutorial on how to build it? It'd be much appreciated as I haven't gone as far as building from source in my previous endeavors
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

first of all you need in compiler and different build utilities, just install build-essential package for them.
I assume you need only qbittorrent-nox (i.e. WebUI version only)
next install few dependencies: qtbase5-dev and libboost-system-dev
then download libtorrent 1.1.13 and qbittorrent 4.1.x source.
build and install libtorrent:

./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv
make
sudo make install

and then build qbittorrent

./configure --disable-gui --enable-systemd
make
sudo make install

or just follow instructions on qBittorrent Wiki

@Kolcha commented on GitHub (Oct 25, 2019): first of all you need in compiler and different build utilities, just install `build-essential` package for them. I assume you need only qbittorrent-nox (i.e. WebUI version only) next install few dependencies: `qtbase5-dev` and `libboost-system-dev` then download libtorrent 1.1.13 and qbittorrent 4.1.x source. build and install libtorrent: ``` ./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv make sudo make install ``` and then build qbittorrent ``` ./configure --disable-gui --enable-systemd make sudo make install ``` or just follow instructions on [qBittorrent Wiki](https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qBittorrent-on-Debian-and-Ubuntu)
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

Much appreciated for the assistance on this.

I've gotten as far as building QB with the command you've given and I get an error.
I've included the full build process in case it helps

./configure --disable-gui --enable-systemd
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... none
checking dependency style of g++... none
checking whether OS is FreeBSD... no
checking whether OS is macOS... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.23... yes
checking whether to enable the Debug build... no
checking whether to enable the stacktrace feature... yes
checking whether to enable the GUI... no
checking whether to install the systemd service file... yes
checking whether to enable the WebUI... yes
checking for Qt5 qmake >= 5.5.1... /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
checking whether QtDBus should be enabled... no
checking for boostlib >= 1.35 (103500)... yes
configure: Boost CXXFLAGS: "-I/usr/include"
configure: Boost LDFLAGS: "-L/usr/lib/x86_64-linux-gnu"
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
configure: Boost.System LIB: "-lboost_system"
checking which qtsingleapplication to use... shipped
checking for libtorrent... yes
checking for zlib... yes
checking if compiler is using C++11 or later mode... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating conf.pri
config.status: executing depfiles commands
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating conf.pri
config.status: creating dist/unix/systemd/qbittorrent-nox@.service
config.status: executing depfiles commands
configure: Running qmake to generate the makefile...
Project MESSAGE: Building translations
Project MESSAGE: Processing qbittorrent_ar
sh: 1: lrelease-qt5: not found
Project ERROR: Building translations failed, cannot continue

configure: error: Failed running /usr/lib/x86_64-linux-gnu/qt5/bin/qmake to generate the makefile

@killkong1211 commented on GitHub (Oct 25, 2019): Much appreciated for the assistance on this. I've gotten as far as building QB with the command you've given and I get an error. I've included the full build process in case it helps ``` ./configure --disable-gui --enable-systemd checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking whether make supports nested variables... yes checking dependency style of gcc... none checking dependency style of g++... none checking whether OS is FreeBSD... no checking whether OS is macOS... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.23... yes checking whether to enable the Debug build... no checking whether to enable the stacktrace feature... yes checking whether to enable the GUI... no checking whether to install the systemd service file... yes checking whether to enable the WebUI... yes checking for Qt5 qmake >= 5.5.1... /usr/lib/x86_64-linux-gnu/qt5/bin/qmake checking whether QtDBus should be enabled... no checking for boostlib >= 1.35 (103500)... yes configure: Boost CXXFLAGS: "-I/usr/include" configure: Boost LDFLAGS: "-L/usr/lib/x86_64-linux-gnu" checking whether the Boost::System library is available... yes checking for exit in -lboost_system... yes configure: Boost.System LIB: "-lboost_system" checking which qtsingleapplication to use... shipped checking for libtorrent... yes checking for zlib... yes checking if compiler is using C++11 or later mode... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating conf.pri config.status: executing depfiles commands checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating conf.pri config.status: creating dist/unix/systemd/qbittorrent-nox@.service config.status: executing depfiles commands configure: Running qmake to generate the makefile... Project MESSAGE: Building translations Project MESSAGE: Processing qbittorrent_ar sh: 1: lrelease-qt5: not found Project ERROR: Building translations failed, cannot continue configure: error: Failed running /usr/lib/x86_64-linux-gnu/qt5/bin/qmake to generate the makefile ```
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

sorry for such inconvenience... just install qttools5-dev-tools package
I don't install Qt from repo for a long time, I usually build it by myself.
I even didn't expect such dev tool can be missed after qtbase5-dev installation....

@Kolcha commented on GitHub (Oct 25, 2019): sorry for such inconvenience... just install `qttools5-dev-tools` package I don't install Qt from repo for a long time, I usually build it by myself. I even didn't expect such dev tool can be missed after `qtbase5-dev` installation....
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

Not a problem at all, that seems to have gotten it to generate the make but it's thrown back two error's on the install sudo make install

cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/libtorrent/qBittorrent/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile install
make[1]: Entering directory '/root/libtorrent/qBittorrent/src'
linking qbittorrent-nox
torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>':
/root/libtorrent/qBittorrent/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)'
session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>':
/root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const'
session.o: In function `BitTorrent::Session::Session(QObject*)':
/root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)'
session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)':
/usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()'
collect2: error: ld returned 1 exit status
Makefile:576: recipe for target 'qbittorrent-nox' failed
make[1]: *** [qbittorrent-nox] Error 1
make[1]: Leaving directory '/root/libtorrent/qBittorrent/src'
Makefile:54: recipe for target 'sub-src-install_subtargets' failed
make: *** [sub-src-install_subtargets] Error 2
@killkong1211 commented on GitHub (Oct 25, 2019): Not a problem at all, that seems to have gotten it to generate the make but it's thrown back two error's on the install sudo make install ``` cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/libtorrent/qBittorrent/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile install make[1]: Entering directory '/root/libtorrent/qBittorrent/src' linking qbittorrent-nox torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>': /root/libtorrent/qBittorrent/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)' session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>': /root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const' session.o: In function `BitTorrent::Session::Session(QObject*)': /root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)' session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)': /usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()' collect2: error: ld returned 1 exit status Makefile:576: recipe for target 'qbittorrent-nox' failed make[1]: *** [qbittorrent-nox] Error 1 make[1]: Leaving directory '/root/libtorrent/qBittorrent/src' Makefile:54: recipe for target 'sub-src-install_subtargets' failed make: *** [sub-src-install_subtargets] Error 2 ```
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

uhh.. seem to be Debian 9 uses compiler that doesn't enable C++11 by default...
you have to rebuild libtorrent with c++11 enabled:

./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv CXXFLAGS="-std=c++11"

(CXXFLAGS="-std=c++11" was added at the end of configure line)
you need build libtorrent from scratch (i.e. no any build artifacts in sources folder), dirty build will not solve issue. don't worry about binaries installed in system, they will be overridden with make install. than build qbittorrent (just run make, clean build is not required in this case)

@Kolcha commented on GitHub (Oct 25, 2019): uhh.. seem to be Debian 9 uses compiler that doesn't enable C++11 by default... you have to rebuild libtorrent with c++11 enabled: ``` ./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv CXXFLAGS="-std=c++11" ``` (`CXXFLAGS="-std=c++11"` was added at the end of configure line) you need build libtorrent from scratch (i.e. no any build artifacts in sources folder), dirty build will not solve issue. don't worry about binaries installed in system, they will be overridden with `make install`. than build qbittorrent (just run `make`, clean build is not required in this case)
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

Tried to run it with the new command but it came back with 'No package 'Qt5Svg' found'

./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv CXXFLAGS="-std=c++11"
configure: WARNING: unrecognized options: --disable-static, --disable-logging, --disable-deprecated-functions, --with-libiconv
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a sed that does not truncate output... /bin/sed
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... none
checking dependency style of g++... none
checking whether OS is FreeBSD... no
checking whether OS is macOS... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.23... yes
checking whether to enable the Debug build... no
checking whether to enable the stacktrace feature... yes
checking whether to enable the GUI... yes
checking whether to install the systemd service file... no
checking whether to enable the WebUI... yes
checking for Qt5 qmake >= 5.5.1... /usr/lib/x86_64-linux-gnu/qt5/bin/qmake
checking for Qt5Svg... no
configure: error: Package requirements (Qt5Svg >= 5.5.1) were not met:

No package 'Qt5Svg' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables Qt5Svg_CFLAGS
and Qt5Svg_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
@killkong1211 commented on GitHub (Oct 25, 2019): Tried to run it with the new command but it came back with 'No package 'Qt5Svg' found' ``` ./configure --disable-silent-rules --disable-static --disable-logging --disable-deprecated-functions --with-libiconv CXXFLAGS="-std=c++11" configure: WARNING: unrecognized options: --disable-static, --disable-logging, --disable-deprecated-functions, --with-libiconv checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking for a sed that does not truncate output... /bin/sed checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports the include directive... yes (GNU style) checking whether make supports nested variables... yes checking dependency style of gcc... none checking dependency style of g++... none checking whether OS is FreeBSD... no checking whether OS is macOS... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.23... yes checking whether to enable the Debug build... no checking whether to enable the stacktrace feature... yes checking whether to enable the GUI... yes checking whether to install the systemd service file... no checking whether to enable the WebUI... yes checking for Qt5 qmake >= 5.5.1... /usr/lib/x86_64-linux-gnu/qt5/bin/qmake checking for Qt5Svg... no configure: error: Package requirements (Qt5Svg >= 5.5.1) were not met: No package 'Qt5Svg' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables Qt5Svg_CFLAGS and Qt5Svg_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. ```
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

forgot about such dependency... didn't think that no GUI version will require it...
install libqt5svg5-dev package
do not change configure line for qbittorrent, use previous one, i.e.:

./configure --disable-gui --enable-systemd

CXXFLAGS must be added only to libtorrent configure line

@Kolcha commented on GitHub (Oct 25, 2019): forgot about such dependency... didn't think that no GUI version will require it... install `libqt5svg5-dev` package do not change configure line for qbittorrent, use previous one, i.e.: ``` ./configure --disable-gui --enable-systemd ``` CXXFLAGS must be added only to libtorrent configure line
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

I used the "./configure --disable-gui --enable-systemd" command and I'm still getting errors on the make for the QB make

linking qbittorrent-nox
torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>':
/root/libtorrent/qBittorrent/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)'
session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>':
/root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const'
session.o: In function `BitTorrent::Session::Session(QObject*)':
/root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)'
session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)':
/usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()'
collect2: error: ld returned 1 exit status
Makefile:577: recipe for target 'qbittorrent-nox' failed
make[1]: *** [qbittorrent-nox] Error 1
make[1]: Leaving directory '/root/libtorrent/qBittorrent/src'
Makefile:42: recipe for target 'sub-src-make_first' failed
make: *** [sub-src-make_first] Error 2
root@omv:~/libtorrent/qBittorrent#

Looks to be the same error we were trying to fix with C++ 11

@killkong1211 commented on GitHub (Oct 25, 2019): I used the "./configure --disable-gui --enable-systemd" command and I'm still getting errors on the make for the QB make ``` linking qbittorrent-nox torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>': /root/libtorrent/qBittorrent/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)' session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>': /root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const' session.o: In function `BitTorrent::Session::Session(QObject*)': /root/libtorrent/qBittorrent/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)' session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)': /usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()' collect2: error: ld returned 1 exit status Makefile:577: recipe for target 'qbittorrent-nox' failed make[1]: *** [qbittorrent-nox] Error 1 make[1]: Leaving directory '/root/libtorrent/qBittorrent/src' Makefile:42: recipe for target 'sub-src-make_first' failed make: *** [sub-src-make_first] Error 2 root@omv:~/libtorrent/qBittorrent# ``` Looks to be the same error we were trying to fix with C++ 11
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

still looks like you didn't recompiled libtorrent with CXXFLAGS="-std=c++11" or old version of libtorrent is used.
please ensure that you uninstalled libtorrent-rasterbar package

@Kolcha commented on GitHub (Oct 25, 2019): still looks like you didn't recompiled libtorrent with CXXFLAGS="-std=c++11" or old version of libtorrent is used. please ensure that you uninstalled `libtorrent-rasterbar` package
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

please wait ~30 min, I'll create simple script which will build everything for you.
fortunately I have a system with GCC 5 which also doesn't enable C++11 by default

@Kolcha commented on GitHub (Oct 25, 2019): please wait ~30 min, I'll create simple script which will build everything for you. fortunately I have a system with GCC 5 which also doesn't enable C++11 by default
Author
Owner

@killkong1211 commented on GitHub (Oct 25, 2019):

I tried it again from scratch and now getting an error on the QB config that says it can't find qmake.
I'll just wait for your script and see how that goes haha :)
Much appreciated for going to the trouble for me

@killkong1211 commented on GitHub (Oct 25, 2019): I tried it again from scratch and now getting an error on the QB config that says it can't find qmake. I'll just wait for your script and see how that goes haha :) Much appreciated for going to the trouble for me
Author
Owner

@Kolcha commented on GitHub (Oct 25, 2019):

script is ready, just run it in any folder. run it without root (sudo), it will ask when it required.
but before running it just ensure that you don't have qbittorrent and libtorrent installed from repo:

sudo apt purge qbittorrent-nox libtorrent-rasterbar

then run this script

@Kolcha commented on GitHub (Oct 25, 2019): [script is ready](https://www.dropbox.com/s/2auf3dq9nvpy0w5/qbt-nox-build-debian.sh?dl=0), just run it in any folder. run it **without** root (sudo), it will ask when it required. but before running it just ensure that you don't have qbittorrent and libtorrent installed from repo: ``` sudo apt purge qbittorrent-nox libtorrent-rasterbar ``` then run this script
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

Sorry for the delay had to go in to town for a bit, removed qbit nox, rasterbar was already removed.

Ran the script and same issue


cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile
make[1]: Entering directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src'
rcc webui/www/translations/webui_translations.qrc
rcc lang/lang.qrc
compiling qrc_webui_translations.cpp
compiling qrc_lang.cpp
linking qbittorrent-nox
torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)'
session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const'
session.o: In function `BitTorrent::Session::Session(QObject*)':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)'
session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)':
/usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()'
collect2: error: ld returned 1 exit status
Makefile:577: recipe for target 'qbittorrent-nox' failed
make[1]: *** [qbittorrent-nox] Error 1
make[1]: Leaving directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src'
Makefile:42: recipe for target 'sub-src-make_first' failed
make: *** [sub-src-make_first] Error 2
cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile install
make[1]: Entering directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src'
linking qbittorrent-nox
torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)'
session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const'
session.o: In function `BitTorrent::Session::Session(QObject*)':
/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)'
session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)':
/usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()'
collect2: error: ld returned 1 exit status
Makefile:577: recipe for target 'qbittorrent-nox' failed
make[1]: *** [qbittorrent-nox] Error 1
make[1]: Leaving directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src'
Makefile:54: recipe for target 'sub-src-install_subtargets' failed
make: *** [sub-src-install_subtargets] Error 2

Ran it twice just to be sure

@killkong1211 commented on GitHub (Oct 26, 2019): Sorry for the delay had to go in to town for a bit, removed qbit nox, rasterbar was already removed. Ran the script and same issue ```configure: Good, your configure finished. cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile make[1]: Entering directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src' rcc webui/www/translations/webui_translations.qrc rcc lang/lang.qrc compiling qrc_webui_translations.cpp compiling qrc_lang.cpp linking qbittorrent-nox torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)' session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const' session.o: In function `BitTorrent::Session::Session(QObject*)': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)' session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)': /usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()' collect2: error: ld returned 1 exit status Makefile:577: recipe for target 'qbittorrent-nox' failed make[1]: *** [qbittorrent-nox] Error 1 make[1]: Leaving directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src' Makefile:42: recipe for target 'sub-src-make_first' failed make: *** [sub-src-make_first] Error 2 cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/src.pro QMAKE_LRELEASE= -o Makefile ) && make -f Makefile install make[1]: Entering directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src' linking qbittorrent-nox torrenthandle.o: In function `makeTorrentCreator<libtorrent::create_torrent>': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/torrenthandle.cpp:164: undefined reference to `libtorrent::create_torrent::create_torrent(libtorrent::torrent_info const&, bool)' session.o: In function `entryListToSetImpl<libtorrent::bdecode_node>': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:149: undefined reference to `libtorrent::bdecode_node::list_string_value_at[abi:cxx11](int, char const*) const' session.o: In function `BitTorrent::Session::Session(QObject*)': /root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src/base/bittorrent/session.cpp:439: undefined reference to `libtorrent::generate_fingerprint(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int)' session.o: In function `libtorrent::session::session(libtorrent::settings_pack const&, int)': /usr/local/include/libtorrent/session.hpp:177: undefined reference to `libtorrent::ipv6_nodeprecate_()' collect2: error: ld returned 1 exit status Makefile:577: recipe for target 'qbittorrent-nox' failed make[1]: *** [qbittorrent-nox] Error 1 make[1]: Leaving directory '/root/temp/libtorrent-rasterbar-1.1.13/qBittorrent-release-4.1.8/src' Makefile:54: recipe for target 'sub-src-install_subtargets' failed make: *** [sub-src-install_subtargets] Error 2 ``` Ran it twice just to be sure
Author
Owner

@Kolcha commented on GitHub (Oct 26, 2019):

interesting... what is your GCC version? run gcc --version or g++ --version.
there is example output from my system:

g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

so my GCC is 6.3.0

@Kolcha commented on GitHub (Oct 26, 2019): interesting... what is your GCC version? run `gcc --version` or `g++ --version`. there is example output from my system: ``` g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 ``` so my GCC is 6.3.0
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

Mine is also

gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

@killkong1211 commented on GitHub (Oct 26, 2019): Mine is also `gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516`
Author
Owner

@Kolcha commented on GitHub (Oct 26, 2019):

well, I'll install that OMV Linux on VM and tried script here. just to ensure that I'm have the same environment as you.
I downloaded OMV Linux 5.0.5 (latest available).

@Kolcha commented on GitHub (Oct 26, 2019): well, I'll install that OMV Linux on VM and tried script here. just to ensure that I'm have the same environment as you. I downloaded OMV Linux 5.0.5 (latest available).
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

5.0.5 is on Debian 10 and I think it's still in testing
My environment is OMV 4.19

Edit: They're still porting the OMV 4 plugins to OMV 5 otherwise it is available but not considered released.

@killkong1211 commented on GitHub (Oct 26, 2019): 5.0.5 is on Debian 10 and I think it's still in testing My environment is OMV 4.19 Edit: They're still porting the OMV 4 plugins to OMV 5 otherwise it is available but not considered released.
Author
Owner

@Kolcha commented on GitHub (Oct 26, 2019):

so... I installed OMV 4 based on Debian 9, run script and found few typos in it, but no any issues during build. I updated the script, now it produces verbose output, please redirect it to file and share in case of error

./qbt-nox-build-debian.sh 2>&1 | tee build.log

and again, make sure that you don't have libtorrent from repo, it can't be used with 4.1.x qBittorrent:

apt purge libtorrent-rasterbar-dev libtorrent-rasterbar9 
@Kolcha commented on GitHub (Oct 26, 2019): so... I installed OMV 4 based on Debian 9, run script and found few typos in it, but no any issues during build. I [updated the script](https://www.dropbox.com/s/2auf3dq9nvpy0w5/qbt-nox-build-debian.sh?dl=0), now it produces verbose output, please redirect it to file and share in case of error ``` ./qbt-nox-build-debian.sh 2>&1 | tee build.log ``` and again, make sure that you don't have libtorrent from repo, it can't be used with 4.1.x qBittorrent: ``` apt purge libtorrent-rasterbar-dev libtorrent-rasterbar9 ```
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

Okay so it worked that time ( FOR NO APPARENT REASON XD ) after changing nothing haha
I can run it but it won't launch as a service for some reason, any thoughts what may be preventing it?

@killkong1211 commented on GitHub (Oct 26, 2019): Okay so it worked that time ( FOR NO APPARENT REASON XD ) after changing nothing haha I can run it but it won't launch as a service for some reason, any thoughts what may be preventing it?
Author
Owner

@Kolcha commented on GitHub (Oct 26, 2019):

to run it as service just enable installed systemd unit:

systemctl enable qbittorrent-nox@root.service

using root user is not recommended, it is better to create separate user for qbittorrent
but please note that you must run qbittorrent-nox manually at least one time (under specific user which later be used to run qbittorrent), just to say "yes", as you maybe noticed before
to run qbittorrent using specific user, just replace 'root' after '@' in my line with desired user name

@Kolcha commented on GitHub (Oct 26, 2019): to run it as service just enable installed systemd unit: ``` systemctl enable qbittorrent-nox@root.service ``` using root user is not recommended, it is better to create separate user for qbittorrent but please note that you must run qbittorrent-nox manually at least one time (under specific user which later be used to run qbittorrent), just to say "yes", as you maybe noticed before to run qbittorrent using specific user, just replace 'root' after '@' in my line with desired user name
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

I'd started it and attempted to run as a service as described here https://github.com/qbittorrent/qBittorrent/wiki/Setting-up-qBittorrent-on-Ubuntu-server-as-daemon-with-Web-interface-(15.04-and-newer)

When I prompt for status I get

root@omv:~# sudo systemctl status qbittorrent
● qbittorrent.service - qBittorrent Daemon Service
   Loaded: loaded (/etc/systemd/system/qbittorrent.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2019-10-26 20:52:55 AEDT; 2s ago
  Process: 21398 ExecStop=/usr/bin/killall -w qbittorrent-nox (code=exited, status=1/FAILURE)
  Process: 21396 ExecStart=/usr/bin/qbittorrent-nox (code=exited, status=203/EXEC)
 Main PID: 21396 (code=exited, status=203/EXEC)

Oct 26 20:52:55 omv systemd[1]: Started qBittorrent Daemon Service.
Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Main process exited, code=exited, status=203/EXEC
Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Control process exited, code=exited status=1
Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Unit entered failed state.
Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Failed with result 'exit-code'.

@killkong1211 commented on GitHub (Oct 26, 2019): I'd started it and attempted to run as a service as described here `https://github.com/qbittorrent/qBittorrent/wiki/Setting-up-qBittorrent-on-Ubuntu-server-as-daemon-with-Web-interface-(15.04-and-newer)` When I prompt for status I get ``` root@omv:~# sudo systemctl status qbittorrent ● qbittorrent.service - qBittorrent Daemon Service Loaded: loaded (/etc/systemd/system/qbittorrent.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2019-10-26 20:52:55 AEDT; 2s ago Process: 21398 ExecStop=/usr/bin/killall -w qbittorrent-nox (code=exited, status=1/FAILURE) Process: 21396 ExecStart=/usr/bin/qbittorrent-nox (code=exited, status=203/EXEC) Main PID: 21396 (code=exited, status=203/EXEC) Oct 26 20:52:55 omv systemd[1]: Started qBittorrent Daemon Service. Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Main process exited, code=exited, status=203/EXEC Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Control process exited, code=exited status=1 Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Unit entered failed state. Oct 26 20:52:55 omv systemd[1]: qbittorrent.service: Failed with result 'exit-code'. ```
Author
Owner

@Kolcha commented on GitHub (Oct 26, 2019):

that documentation is pretty outdated, but still can be used.
so edit you created /etc/systemd/system/qbittorrent.service and change ExecStart field to /usr/local/bin/qbittorrent-nox (please not "local" in path, now you have qbittorrent executable here, because it was manually installed)

as you already have qbittorrent.service in /etc and it already enabled, nothing more must to be done, you can continue using it. or just disable and remove it and use unit which was installed after compilation (that's I mentioned). just replace "root" with "qbtuser" in my line for it.
there is no difference which one to use, but installed one already have correct paths because it was generated.

@Kolcha commented on GitHub (Oct 26, 2019): that documentation is pretty outdated, but still can be used. so edit you created `/etc/systemd/system/qbittorrent.service` and change `ExecStart` field to `/usr/local/bin/qbittorrent-nox` (please not "local" in path, now you have qbittorrent executable here, because it was manually installed) as you already have qbittorrent.service in /etc and it already enabled, nothing more must to be done, you can continue using it. or just disable and remove it and use unit which was installed after compilation (that's I mentioned). just replace "root" with "qbtuser" in my line for it. there is no difference which one to use, but installed one already have correct paths because it was generated.
Author
Owner

@killkong1211 commented on GitHub (Oct 26, 2019):

And at long last we have 4.1.x running as a service.
Kolcha you are an absolute legend for spending all day helping me get this up and running.

@killkong1211 commented on GitHub (Oct 26, 2019): And at long last we have 4.1.x running as a service. Kolcha you are an absolute legend for spending all day helping me get this up and running.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#9242
No description provided.