Closed niko-yanev closed 8 years ago
That is let's say intended. Keep in mind that libtorrent 1.1.x series aren't officially supported. And we're finding libtorrent bugs along the transition.
Your build because we use a libtorrent function that was introduced very recently in their RC_1_1 branch. So you can compile with one of these instead:
Btw, thanks for reporting, I fixed the warning your output showed which would result in a bug.
I just tried to compile 3.3.9 against libtorrent 1.1.1 and got this exactly the same message. I followed the instructions, including cloning from git and setting RC_1_1, so the error is still present.
I will try again with RC_1_0 and see what happens.
same inabiity to link, with the same messages, when trying to build qbittorrent 3.3.9 with the RC_1_0 branch of libtorrent
t > make && make install
` cd src/ && ( test -e Makefile || /usr/lib/i386-linux-gnu/qt5/bin/qmake /.hw/home/be nch/system/toInstall/torrenting/qbittorrent-3.3.9/src/src.pro QMAKE_LRELEASE= -o Ma kefile ) && make -f Makefile
make[1]: Entering directory '/.hw/home/bench/system/toInstall/torrenting/qbittorren t-3.3.9/src'
linking qbittorrent
session.o: In function `BitTorrent::Session::adjustLimits()':
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:862: undefined reference to `libtorrent::session::settings() const'
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:864: undefined reference to `libtorrent::session::set_settings(libtorrent::s ession_settings const&)'
session.o: In function `BitTorrent::Session::configure(libtorrent::session_settings &)':
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:1130: undefined reference to `libtorrent::session::set_pe_settings(libtorren t::pe_settings const&)'
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:1231: undefined reference to `libtorrent::session::add_dht_router(std::pair< std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, in t> const&)'
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:1232: undefined reference to `libtorrent::session::add_dht_router(std::pair< std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, in t> const&)'
/home/bench/system/toInstall/torrenting/qbittorrent-3.3.9/src/base/bittorrent/sessi on.cpp:1233: undefined reference to `libtorrent::session::add_dht_router(std::pair< std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, in t> const&)'
So I am kinda stuck:
When you build latest RC_1_1 or RC_1_0 branch or build any of 1.0.x tarballs then when configuring qbt you need to point pkg-config to your custom installation of libtorrent. Not the system one. I suppose qbt still picks up the system's libtorrent.
I don't agree with your statement of whether a system or system intall of libtorrent is used. The Launchpad PPA https://launchpad.net/~qbittorrent-team/+archive/ubuntu/qbittorrent-stable/+packages fails to build as well for Yakkety 16.10 with this error and it's obviously using the libtorrent library build inside the PPA which is version 1.0.10. [NOTE: It is not using it]
Looking at your C++ code in src/base/bittorrent/session.cpp
, depending on the version of the libtorrent
library the processing differs.
For version < 1.0.10
(which is Not the case in the PPA) you invoke libt::fingerprint fingerprint (...
For more recent version (which is the case in the PPA for Yakkety 16.10
) you invoke std::string peerId = libt::generate_fingerprint (...
It looks like it fails only with the latest release of Ubuntu
: Yakkety 16.10
.
Well after double checking for the official release package in Yakkety 16.10
I found that they have libtorrent version 1.1.0 as the system build. So this library (more recent) than the one used in the PPA 1.0.10 is used (in that sense you were right), and this cause the failure.
Anyway you need to update your code to make it compliant with the latest versions of libtorrent which are available on GitHub
https://github.com/arvidn/libtorrent/releases
So, as far as compiling the latest qBittorrent, I should (?) wait until the code update you just mentioned [https://github.com/qbittorrent/qBittorrent/issues/5888#issuecomment-269909397] is applied?
[After another go I got the apt(itude) packaged qBittorent 3.3.7 to install. I would like to build and run the latest version if I could, though. ]
Here is the total output: distro manjaro with all the latest updates installed