qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
27.06k stars 3.89k forks source link

session.o:session.cpp:function BitTorrent::Session::getPendingAlerts(std::vector<libtorrent::alert*, std::allocator<libtorrent::alert*> >&, unsigned long): error: undefined reference to 'libtorrent::session_handle::wait_for_alert(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) #5265

Closed perfect7gentleman closed 8 years ago

perfect7gentleman commented 8 years ago

qbittorrent-git libtorrent-rasterbar-1.10.0

base/net/portforwarder.cpp: В функции-члене «void Net::PortForwarder::start()»:
base/net/portforwarder.cpp:105:28: предупреждение: «void libtorrent::session_handle::start_upnp()» is deprecated [-Wdeprecated-declarations]
In file included from /usr/include/libtorrent/session.hpp:53:0,
                 from base/net/portforwarder.cpp:31:
/usr/include/libtorrent/session_handle.hpp:1049:8: замечание: declared here
base/net/portforwarder.cpp:106:30: предупреждение: «void libtorrent::session_handle::start_natpmp()» is deprecated [-Wdeprecated-declarations]
In file included from /usr/include/libtorrent/session.hpp:53:0,
                 from base/net/portforwarder.cpp:31:
/usr/include/libtorrent/session_handle.hpp:1064:8: замечание: declared here
base/net/portforwarder.cpp: В функции-члене «void Net::PortForwarder::stop()»:
base/net/portforwarder.cpp:116:27: предупреждение: «void libtorrent::session_handle::stop_upnp()» is deprecated [-Wdeprecated-declarations]
In file included from /usr/include/libtorrent/session.hpp:53:0,
                 from base/net/portforwarder.cpp:31:
/usr/include/libtorrent/session_handle.hpp:1051:8: замечание: declared here
base/net/portforwarder.cpp:117:29: предупреждение: «void libtorrent::session_handle::stop_natpmp()» is deprecated [-Wdeprecated-declarations]
In file included from /usr/include/libtorrent/session.hpp:53:0,
                 from base/net/portforwarder.cpp:31:
/usr/include/libtorrent/session_handle.hpp:1066:8: замечание: declared here
compiling moc_application.cpp
compiling moc_filelogger.cpp
compiling moc_filesystemwatcher.cpp
compiling moc_qinisettings.cpp
compiling moc_logger.cpp
compiling moc_settingsstorage.cpp
compiling moc_preferences.cpp
compiling moc_connection.cpp
compiling moc_server.cpp
compiling moc_dnsupdater.cpp
compiling qrc_searchengine.cpp
compiling qrc_lang.cpp
compiling moc_downloadmanager.cpp
compiling moc_downloadhandler.cpp
compiling moc_geoipmanager.cpp
compiling qrc_icons.cpp
compiling moc_portforwarder.cpp
compiling moc_reverseresolution.cpp
compiling moc_smtp.cpp
compiling qrc_about.cpp
compiling moc_session.cpp
compiling moc_tracker.cpp
compiling moc_torrentcreatorthread.cpp
compiling moc_bandwidthscheduler.cpp
compiling moc_filterparserthread.cpp
compiling qrc_lineeditimages.cpp
compiling moc_statistics.cpp
compiling moc_resumedatasavingmanager.cpp
compiling moc_rssmanager.cpp
compiling moc_rssfeed.cpp
compiling moc_rssarticle.cpp
moc gui/cookiesdialog.h
compiling moc_rssparser.cpp
compiling moc_torrentfileguard.cpp
compiling moc_scanfoldersmodel.cpp
compiling moc_searchengine.cpp
compiling moc_lineedit.cpp
moc gui/cookiesmodel.h
moc gui/search/pluginsourcedlg.h
compiling moc_propertieswidget.cpp
compiling moc_peerlistwidget.cpp
compiling moc_proplistdelegate.cpp
compiling moc_trackerlist.cpp
compiling moc_downloadedpiecesbar.cpp
compiling moc_peerlistdelegate.cpp
compiling moc_peerlistsortmodel.cpp
compiling moc_peersadditiondlg.cpp
moc gui/search/searchtab.h
moc gui/search/pluginselectdlg.h
compiling moc_trackersadditiondlg.cpp
compiling moc_pieceavailabilitybar.cpp
compiling moc_proptabbar.cpp
moc gui/scanfoldersdelegate.h
moc gui/search/searchwidget.h
compiling moc_speedwidget.cpp
compiling moc_speedplotview.cpp
compiling moc_rss_imp.cpp
compiling moc_rsssettingsdlg.cpp
compiling moc_feedlistwidget.cpp
compiling moc_automatedrssdownloader.cpp
compiling moc_htmlbrowser.cpp
compiling moc_powermanagement.cpp
compiling moc_powermanagement_x11.cpp
compiling moc_notifications.cpp
compiling moc_mainwindow.cpp
moc gui/torrentmodel.h
moc gui/torrentcreatordlg.h
compiling moc_transferlistwidget.cpp
compiling moc_transferlistdelegate.cpp
compiling moc_transferlistfilterswidget.cpp
compiling moc_transferlistsortmodel.cpp
compiling moc_torrentcontentmodel.cpp
compiling moc_torrentcontentfiltermodel.cpp
compiling moc_torrentcontenttreeview.cpp
moc gui/advancedsettings.h
compiling moc_deletionconfirmationdlg.cpp
moc gui/shutdownconfirmdlg.h
compiling moc_statusbar.cpp
compiling moc_speedlimitdlg.cpp
compiling moc_about_imp.cpp
compiling moc_previewselect.cpp
compiling moc_previewlistdelegate.cpp
compiling moc_downloadfromurldlg.cpp
compiling moc_trackerlogin.cpp
compiling moc_executionlog.cpp
compiling moc_guiiconprovider.cpp
compiling moc_shutdownconfirmdlg.cpp
compiling moc_advancedsettings.cpp
moc gui/messageboxraised.h
moc gui/options_imp.h
compiling moc_torrentmodel.cpp
compiling moc_torrentcreatordlg.cpp
compiling moc_scanfoldersdelegate.cpp
compiling moc_searchwidget.cpp
compiling moc_searchtab.cpp
compiling moc_pluginselectdlg.cpp
moc gui/statsdialog.h
moc gui/autoexpandabledialog.h
compiling moc_pluginsourcedlg.cpp
compiling moc_cookiesmodel.cpp
compiling moc_cookiesdialog.cpp
compiling moc_autoexpandabledialog.cpp
compiling moc_statsdialog.cpp
compiling moc_messageboxraised.cpp
moc gui/loglistwidget.h
moc gui/addnewtorrentdialog.h
compiling moc_options_imp.cpp
compiling moc_loglistwidget.cpp
moc gui/updownratiodlg.h
compiling moc_updownratiodlg.cpp
compiling moc_addnewtorrentdialog.cpp
linking qbittorrent
session.o:session.cpp:function BitTorrent::Session::getPendingAlerts(std::vector<libtorrent::alert*, std::allocator<libtorrent::alert*> >&, unsigned long): error: undefined reference to 'libtorrent::session_handle::wait_for_alert(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)'
collect2: error: ld returned 1 exit status
distcc[27925] ERROR: compile (null) on localhost failed
Makefile:876: recipe for target 'qbittorrent' failed
make[1]: *** [qbittorrent] Error 1
make[1]: Leaving directory '/tmp/portage/net-p2p/qbittorrent-9999/work/qbittorrent-9999/src'
Makefile:42: recipe for target 'sub-src-make_first' failed
make: *** [sub-src-make_first] Error 2
zeule commented 8 years ago

You have an unclean build problem, most likely.

perfect7gentleman commented 8 years ago

what do you mean ? 3.3.4 builds fine.

zeule commented 8 years ago

It builds without errors here using libtorrent 1.1.0 (albeit using cmake but not autotools/qmake). Guess you mistyped the version and are using libtorrent 1.1.0 too.

Might it be that you use a qBt build directory where you did build qBt against another libtorrent version and some files are not rebuilt (due to imperfect dependency tracking, for instance)?

perfect7gentleman commented 8 years ago

of course, 1.1.0. I use Gentoo, and its qbittorrent-9999 ebuild. before yesterday everything was okay.

zeule commented 8 years ago

I'm on Gentoo using live ebuilds too. If Since the build fails in a clean build directory, could you, please, a) try cmake (I can share you an ebuild, if you like), b) let us know your compiler version, and c) share your libtorrent ebuild?

perfect7gentleman commented 8 years ago

https://github.com/perfect7gentleman/pg_overlay/blob/master/net-p2p/qbittorrent/qbittorrent-9999.ebuild

https://github.com/perfect7gentleman/pg_overlay/blob/master/net-libs/rb_libtorrent/rb_libtorrent-1.1.0.ebuild

~ $ cat /etc/portage/env/qbittorrent.conf 
EXTRA_ECONF="\
        --without-qt4 \
        --with-boost \
        --with-boost-system=mt"
 ~ $ cat /etc/portage/env/rb_libtorrent.conf 
EXTRA_ECONF="\
        --enable-largefile \
        --enable-dht \
        --enable-encryption \
        --enable-pool-allocators"
 ~ $ emerge --info
Portage 2.3.0_rc1 (python 3.5.1-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-5.3.0, glibc-2.23-r2, 4.6.0-gentoo x86_64)
=================================================================
System uname: Linux-4.6.0-gentoo-x86_64-Intel-R-_Core-TM-_i7-4770K_CPU_@_3.50GHz-with-gentoo-2.2
KiB Mem:    16086812 total,    513896 free
KiB Swap:   16777212 total,  16654612 free
sh bash 4.3_p42-r2
ld GNU gold (Gentoo 2.25.1 p1.1 2.25.1) 1.11
distcc 3.2rc1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.3_p42-r2::gentoo
dev-lang/perl:            5.22.2::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.5.1-r2::gentoo
dev-util/cmake:           3.5.2::gentoo
dev-util/pkgconfig:       0.29.1::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.5::gentoo
sys-apps/sandbox:         2.10-r2::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r2::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r2::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r2::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.6::gentoo (virtual/os-headers)
sys-libs/glibc:           2.23-r2::gentoo
Repositories:

gentoo
    location: /usr/portage                                                                                                                                          
    sync-type: git                                                                                                                                                  
    sync-uri: git://anongit.gentoo.org/repo/gentoo.git                                                                                                              
    priority: 1

kde
    location: /usr/portage/proj/kde
    sync-type: git
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 3

x11
    location: /usr/portage/proj/x11
    sync-type: git
    sync-uri: git://anongit.gentoo.org/proj/x11.git
    masters: gentoo
    priority: 3

pg_overlay
    location: /usr/local/overlay
    sync-type: git
    sync-uri: git://github.com/perfect7gentleman/pg_overlay.git
    masters: gentoo
    priority: 5

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=haswell -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mfma -mbmi -mbmi2 -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=haswell -O2 -pipe -fomit-frame-pointer -fno-stack-protector"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=haswell -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mfma -mbmi -mbmi2 -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mrdrnd -mf16c -mfsgsbase -mfxsr -mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=haswell -O2 -pipe -fomit-frame-pointer -fno-stack-protector"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distcc distcc-pump distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch parallel-install preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O2 -Wl,--as-needed"
MAKEOPTS="-j25 -l9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/tmp"
USE="X acl acpi amd64 bash-completion branding bzip2 cairo cli consolekit cracklib custom-cflags cxx dbus declarative dri dts egl exif fam ffmpeg flac fontconfig gif gmp gzip iconv icu introspection jabber jingle jit jpeg kipi lcms libass libnotify lm_sensors lua lzma lzo matroska minimal mmx mmxext mng modules multilib ncurses nls nptl nsplugin ntpl opengl openmp orc pango pcre pdf png policykit ppds pulseaudio qt5 readline seccomp session smp sox spell sse sse2 ssl svg symlink tcmalloc threads tiff truetype udev udisks udisks2 unicode usb v4l vaapi wavpack webkit webp widgets wxwidgets x264 xattr xcb xcomposite xml xmpp xv xvid zlib" ABI_X86="64" ALSA_CARDS="emu10k1" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="roccat_kovaplus roccat_ryosmk" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US ru ru_RU" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python3_5" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="3.5"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
[ebuild   R   *] net-p2p/qbittorrent-9999::pg_overlay  USE="X dbus qt5 -debug -webui" 0 KiB
[ebuild   R    ]  net-libs/rb_libtorrent-1.1.0::pg_overlay  USE="dht ssl -debug -doc -examples -python -static-libs {-test}" PYTHON_TARGETS="python3_5 -python2_7 -python3_4" 0 KiB
zeule commented 8 years ago

except EXTRA_ECONF and CXXFLAGS our build environments are equal. However, why do I see Cyrillic compiler error messages in your log while your LANG="en_US.utf8"?

perfect7gentleman commented 8 years ago

Cyrillic is maybe of distcc, the other PC uses LANG="ru_RU.utf8"

zeule commented 8 years ago

In the meantime, I did a qmake build and it was successful.

zeule commented 8 years ago

Cyrillic is maybe of distcc...

Could you make a local build, please?

perfect7gentleman commented 8 years ago

i've rebuilt rb_libtorrent locally without EXTRA_ECONF, and try to build qbittorrent locally without EXTRA_ECONF, but the same error

zeule commented 8 years ago

Can't see any significant difference between your and my build environments... Could you share build.log files then, please?

perfect7gentleman commented 8 years ago

https://bpaste.net/show/2c8d09b0c2ea

zeule commented 8 years ago

Thank you, libtorrent one too, please.

perfect7gentleman commented 8 years ago

both https://bpaste.net/show/42fc7fbb5989

zeule commented 8 years ago

And the output of

$ nm -D /usr/lib/libtorrent-rasterbar.so | grep wait_for_alert
perfect7gentleman commented 8 years ago
~ $ nm -D /usr/lib/libtorrent-rasterbar.so | grep wait_for_alert
00000000001c78d0 T _ZN10libtorrent14session_handle14wait_for_alertEN5boost6chrono8durationIlNS1_5ratioILl1ELl1000000000EEEEE
zeule commented 8 years ago

The problem seems to be located. your: _ZN10libtorrent14session_handle14wait_for_alertEN5boost6chrono8durationIlNS1_5ratioILl1ELl1000000000EEEEE

mine: _ZN10libtorrent14session_handle14wait_for_alertENSt6chrono8durationIlSt5ratioILl1ELl1000000000EEEE With c++filt:

libtorrent::session_handle::wait_for_alert(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> >)
libtorrent::session_handle::wait_for_alert(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)

Try to rebuild adding -std=c++11 to the libtorrent compile flags, please.

zeule commented 8 years ago

And your qBt compilation error shows that it was looking for std::chrono, which is natural because qbt forces C++11 mode.

perfect7gentleman commented 8 years ago

thanx, evsh

maxou2600 commented 8 years ago

Same problem, re-building libtorrent with -std=c++11 does not help, I put this at the end of the line CFLAGS in the Makefile of libtorrent build folder. Is this right ? I don't think so, otherwise it would not have some errors during the Qbittorrent build...

EDIT : Found the error : Need to put -std=c++11 at CXXFLAGS and not CFLAGS, after recompiling libtorrent, just needed to rebuild qBittorrent, and it went fine :)

UnitedMarsupials-zz commented 7 years ago

I'm getting the same error trying to build qbittorrent-3.3.7 against libtorrent-rasterbar-1.1.1. Adding the suggested -std=c++11 to the latter's compiler-flags causes the following error:

libtool: compile:  c++ -DPACKAGE_NAME=\"libtorrent-rasterbar\" -DPACKAGE_TARNAME=\"libtorrent-rasterbar\" -DPACKAGE_VERSION=\"1.1.1\" "-DPACKAGE_STRING=\"libtorrent-rasterbar 1.1.1\"" -DPACKAGE_BUGREPORT=\"arvid@libtorrent.org\" -DPACKAGE_URL=\"http://www.libtorrent.org\" -DPACKAGE=\"libtorrent-rasterbar\" -DVERSION=\"1.1.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_PTHREAD=1 "-DHAVE_BOOST=/**/" -DHAVE_BOOST_SYSTEM=1 "-DHAVE_BOOST_CHRONO=/**/" "-DHAVE_BOOST_RANDOM=/**/" -DHAVE_CLOCK_GETTIME=1 -DNDEBUG=1 -DTORRENT_DISABLE_LOGGING=1 -DTORRENT_USE_OPENSSL=1 -DHAVE_ICONV=1 -DICONV_CONST= -DBOOST_ASIO_HASH_MAP_BUCKETS=1021 -DBOOST_EXCEPTION_DISABLE=1 -DBOOST_ASIO_ENABLE_CANCELIO=1 -DTORRENT_BUILDING_SHARED=1 -I. -DTORRENT_BUILDING_LIBRARY -I../include -I../ed25519/src -Os -I/usr/include -I/opt/include -std=c++11 -ftemplate-depth=120 -fvisibility=hidden -fvisibility-inlines-hidden -MT kademlia/dht_tracker.lo -MD -MP -MF kademlia/.deps/dht_tracker.Tpo -c kademlia/dht_tracker.cpp  -fPIC -DPIC -o kademlia/.libs/dht_tracker.o
In file included from kademlia/dht_tracker.cpp:38:
In file included from ../include/libtorrent/kademlia/node.hpp:41:
In file included from ../include/libtorrent/kademlia/dht_storage.hpp:38:
In file included from /opt/include/boost/function.hpp:64:
In file included from /opt/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52:
In file included from /opt/include/boost/function/detail/function_iterate.hpp:14:
In file included from /opt/include/boost/function/detail/maybe_include.hpp:18:
/opt/include/boost/function/function_template.hpp:153:33: error: called object type 'nullptr_t' is not a function or function pointer
          BOOST_FUNCTION_RETURN((*f)(BOOST_FUNCTION_ARGS));
                                ^~~~
/opt/include/boost/function/function_template.hpp:75:36: note: expanded from macro 'BOOST_FUNCTION_RETURN'
#  define BOOST_FUNCTION_RETURN(X) X
                                   ^
/opt/include/boost/function/function_template.hpp:934:53: note: in instantiation of member function
      'boost::detail::function::void_function_obj_invoker1<nullptr_t, void, const std::__1::vector<std::__1::pair<libtorrent::dht::node_entry,
      std::__1::basic_string<char> >, std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::invoke'
      requested here
        { { &manager_type::manage }, &invoker_type::invoke };
                                                    ^
/opt/include/boost/function/function_template.hpp:722:13: note: in instantiation of function template specialization 'boost::function1<void, const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::assign_to<nullptr_t>' requested here
      this->assign_to(f);
            ^
/opt/include/boost/function/function_template.hpp:1069:5: note: in instantiation of function template specialization 'boost::function1<void, const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::function1<nullptr_t>' requested here
    base_type(f)
    ^
kademlia/dht_tracker.cpp:227:26: note: in instantiation of function template specialization 'boost::function<void (const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &)>::function<nullptr_t>' requested here
                m_dht.get_peers(ih, f, NULL, false);
                                       ^
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^
In file included from kademlia/dht_tracker.cpp:38:
In file included from ../include/libtorrent/kademlia/node.hpp:41:
In file included from ../include/libtorrent/kademlia/dht_storage.hpp:38:
In file included from /opt/include/boost/function.hpp:24:
In file included from /opt/include/boost/function/detail/prologue.hpp:17:
In file included from /opt/include/boost/function/function_base.hpp:29:
In file included from /opt/include/boost/ref.hpp:11:
/opt/include/boost/utility/addressof.hpp:59:12: error: call to 'f' is ambiguous
    return boost::detail::addressof_impl<T>::f( boost::detail::addr_impl_ref<T>( v ), 0 );
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/include/boost/function/function_template.hpp:601:65: note: in instantiation of function template specialization 'boost::addressof<nullptr_t>'
      requested here
          if (!boost::detail::function::has_empty_target(boost::addressof(f))) {
                                                                ^
/opt/include/boost/function/function_template.hpp:492:18: note: in instantiation of function template specialization
      'boost::detail::function::basic_vtable1<void, const std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::assign_to<nullptr_t>' requested here
          return assign_to(f, functor, tag());
                 ^
/opt/include/boost/function/function_template.hpp:936:25: note: in instantiation of function template specialization
      'boost::detail::function::basic_vtable1<void, const std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::assign_to<nullptr_t>' requested here
      if (stored_vtable.assign_to(f, functor)) {
                        ^
/opt/include/boost/function/function_template.hpp:722:13: note: in instantiation of function template specialization 'boost::function1<void, const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::assign_to<nullptr_t>' requested here
      this->assign_to(f);
            ^
/opt/include/boost/function/function_template.hpp:1069:5: note: in instantiation of function template specialization 'boost::function1<void, const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &>::function1<nullptr_t>' requested here
    base_type(f)
    ^
kademlia/dht_tracker.cpp:227:26: note: in instantiation of function template specialization 'boost::function<void (const
      std::__1::vector<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> >,
      std::__1::allocator<std::__1::pair<libtorrent::dht::node_entry, std::__1::basic_string<char> > > > &)>::function<nullptr_t>' requested here
                m_dht.get_peers(ih, f, NULL, false);
                                       ^
/usr/include/sys/_null.h:35:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^
/opt/include/boost/utility/addressof.hpp:37:23: note: candidate function
    static inline T * f( T & v, long )
                      ^
/opt/include/boost/utility/addressof.hpp:43:23: note: candidate function
    static inline T * f( T * v, int )
                      ^
2 errors generated.

Using clang-3.4.1 on FreeBSD-10.3 here. Please, advise.

UnitedMarsupials-zz commented 7 years ago

Ok, adding -DBOOST_ASIO_HAS_STD_CHRONO to the CXXFLAGS of libtorrent-rasterbar instead of -std=c++11 produces a library, that allows qbittorrent to link. Using it right now.

chandramohan83 commented 7 years ago

-std=c++11 solved my problem thank you very much