I just ran an emerge --update world, and it picked up some new qt libs. These broke qbittorrent. msoulier@anton:~$ qbittorrent qbittorrent: symbol lookup error: qbittorrent: undefined symbol: _ZN5boost10filesystem6detail15not_found_errorE Running revdep-rebuild did not find this. Reproducible: Didn't try Steps to Reproduce: Put your box in this state... msoulier@anton:~$ equery list | grep qbittorrent net-p2p/qbittorrent-1.0.0 msoulier@anton:~$ equery list | grep qt x11-libs/qt-core-4.4.2-r2 x11-libs/qt-gui-4.4.2-r3 x11-libs/qt-qt3support-4.4.2 x11-libs/qt-script-4.4.2 x11-libs/qt-sql-4.4.2-r1 When I try to rebuild qbittorrent, it fails. >>> Emerging (1 of 1) net-p2p/qbittorrent-1.0.0 * qbittorrent-1.0.0.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking qbittorrent-1.0.0.tar.gz to /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work >>> Source unpacked in /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work >>> Compiling source in /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work/qbittorrent-1.0.0 ... Configuring qbittorrent ... Verifying Qt 4 build environment ... ok Checking for Qt >= 4.3 ... yes Checking for libtorrent >= 0.13 ... no Error: need libtorrent >= 0.13! * * ERROR: net-p2p/qbittorrent-1.0.0 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2671: Called die * The specific snippet of code: * ./configure --prefix=/usr --qtdir=/usr --with-libtorrent-inc=/usr/include --with-libtorrent-lib=/usr/$(get_libdir) || die "configure failed"; * The die message: * configure failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/environment'. * >>> Failed to emerge net-p2p/qbittorrent-1.0.0, Log file: >>> '/var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/build.log'
msoulier@anton:~$ emerge --search libtorrent Searching... [ Results for search key : libtorrent ] [ Applications found : 2 ] * net-libs/libtorrent Latest version available: 0.12.4 Latest version installed: [ Not Installed ] Size of files: 586 kB Homepage: http://libtorrent.rakshasa.no/ Description: LibTorrent is a BitTorrent library written in C++ for *nix. License: GPL-2 * net-libs/rb_libtorrent Latest version available: 0.13 Latest version installed: 0.13 Size of files: 1,467 kB Homepage: http://www.rasterbar.com/products/libtorrent/ Description: BitTorrent library written in C++ for *nix. License: BSD
Please post your "emerge --info" and attach the config.log file of the failed emerge to this bug.
Please reopen this bug report when you have provided the requested information.
(In reply to comment #3) > Please reopen this bug report when you have provided the requested information. > Apologies... msoulier@anton:~$ less /var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/build.log>>> Unpacking source... >>> Unpacking qbittorrent-1.0.0.tar.gz to /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work >>> Source unpacked in /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work >>> Compiling source in /var/tmp/portage/net-p2p/qbittorrent-1.0.0/work/qbittorrent-1.0.0 ... Configuring qbittorrent ... Verifying Qt 4 build environment ... ok Checking for Qt >= 4.3 ... yes Checking for libtorrent >= 0.13 ... no Error: need libtorrent >= 0.13! * * ERROR: net-p2p/qbittorrent-1.0.0 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2671: Called die * The specific snippet of code: * ./configure --prefix=/usr --qtdir=/usr --with-libtorrent-inc=/usr/include --with-libtorrent-lib=/usr/$(get_libdir) || die "configure failed"; * The die message: * configure failed * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-p2p/qbittorrent-1.0.0/temp/environment'. * msoulier@anton:~$ emerge --info Portage 2.1.6.7 (default/linux/x86/2008.0, gcc-4.1.2, glibc-2.8_p20080602-r1, 2.6.25-gentoo-r8 i686) ================================================================= System uname: Linux-2.6.25-gentoo-r8-i686-AMD_Athlon-tm-_XP_1700+-with-glibc2.0 Timestamp of tree: Sat, 18 Apr 2009 08:00:02 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7-r1, 2.1.7 dev-lang/python: 2.5.4-r2 dev-python/pycrypto: 2.0.1-r8 dev-util/cmake: 2.6.2-r1 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.6-r2 sys-devel/autoconf: 2.13, 2.63 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2 sys-devel/binutils: 2.18-r3 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.23-r3 ACCEPT_KEYWORDS="x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://www.gtlib.gatech.edu/pub/gentoo " LDFLAGS="-Wl,-O1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl acpi aim alsa bash-completion berkdb branding bzip2 cairo cli cracklib crypt dri dvd dvdr dvdread encode exif ffmpeg fontconfig gdbm gif gnuplot gphoto2 gpm gtk iconv imap ipod ipv6 isdnlog jpeg midi mp3 mpeg mplayer msn mudflap ncurses nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png pppd python quicktime readline reflection session spl ssl svg sysfs tcpd tiff tk truetype unicode usb win32codecs x86 xcomposite xine xorg xulrunner xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY I'm not sure where my config.log is. I assume that's different from the build.log.
Look under the "work" dir for the config.log file.
(In reply to comment #5) > Look under the "work" dir for the config.log file. I found a conf.log... msoulier@anton:~$ less conf.log /usr/bin/moc -DHAVE_MODULES -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I. -I. conf4.cpp -o conf4.moc g++ -c -pipe -O2 -march=athlon-xp -pipe -Wall -W -D_REENTRANT -DHAVE_MODULES -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I. -I. -o conf4.o conf4.cpp g++ -Wl,-O1 -o conf conf4.o -L/usr/lib/qt4 -lQtCore -L/usr/lib/qt4 -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
Please attach that file to this bug report.
Re-open when appropriate.
Created attachment 191428 [details] conf.log from build As requested.
Reopening as requested.
I have exactly this same problem. The root cause seems to be missing symbols in Boost. Here's the verbose configure output: ./configure --prefix=/usr --qtdir=/usr --with-libtorrent-inc=/usr/include --with-libtorrent-lib=/usr/include --verbose Configuring qbittorrent ... PREFIX=/usr BINDIR=/usr/bin DATADIR=/usr/share EX_QTDIR=/usr QC_WITH_LIBTORRENT_INC=/usr/include QC_WITH_LIBTORRENT_LIB=/usr/include QC_WITH_LIBTORRENT_STATIC_LIB= QC_WITH_LIBBOOST_INC= QC_WITH_LIBCURL_INC= QC_WITH_LIBCURL_LIB= QC_DISABLE_libmagick= QC_WITH_LIBMAGICK_INC= QC_WITH_LIBMAGICK_LIB= QC_DISABLE_libzzip= QC_WITH_LIBZZIP_INC= QC_WITH_LIBZZIP_LIB= Verifying Qt 4 build environment ... qmake found in /usr/bin/qmake -> ok conf command: [./configure] conf path: [./configure] srcdir: [/var/tmp/portage/net-p2p/qbittorrent-1.0.0/work/qbittorrent-1.0.0] builddir: [/var/tmp/portage/net-p2p/qbittorrent-1.0.0/work/qbittorrent-1.0.0] profile: [/var/tmp/portage/net-p2p/qbittorrent-1.0.0/work/qbittorrent-1.0.0/qbittorrent.pro] qmake path: [/usr/bin/qmake] make tool: [/usr/bin/gmake] Checking for Qt >= 4.3 ... yes Checking for libtorrent >= 0.13 ... * INCLUDEPATH += /usr/include * INCLUDEPATH += /usr/include/libtorrent * Wrote atest.cpp: int main() { return 0; } * Wrote atest.pro: CONFIG += console CONFIG -= qt app_bundle SOURCES += atest.cpp LIBS += -L/usr/include -ltorrent * [/usr/bin/qmake atest.pro] * returned: 0 * [/usr/bin/gmake] g++ -c -pipe -pipe -march=athlon -O2 -Wall -W -I/usr/share/qt4/mkspecs/linux-g++ -I. -I. -o atest.o atest.cpp g++ -Wl,-O1 -o atest atest.o -L/usr/include -ltorrent /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../libtorrent.so: undefined reference to `boost::system::get_posix_category()' /usr/lib/gcc/i686-pc-linux-gnu/4.3.3/../../../libtorrent.so: undefined reference to `boost::thread::sleep(boost::posix_time::ptime const&)' collect2: ld returned 1 exit status gmake: *** [atest] Error 1 * returned: 512 * [/usr/bin/gmake distclean] rm -f atest.o rm -f *~ core *.core rm -f atest rm -f Makefile * returned: 0 -> no Error: need libtorrent >= 0.13! So the problem is not that it can't find libtorrent of a suitable version, it's that Boost has made binary-incompatible API changes. Here is the relevant history from my /var/log/emerge.log: Sat Apr 18 10:44:30 2009: ::: completed emerge (7 of 14) dev-libs/boost-1.35.0-r2 to / Fri Apr 24 22:03:48 2009: ::: completed emerge (3 of 3) net-p2p/qbittorrent-1.0.0 to / Tue May 12 12:44:33 2009: ::: completed emerge (21 of 123) dev-util/boost-build-1.37.0 to / Tue May 12 12:44:35 2009: >>> unmerge success: dev-util/boost-build-1.35.0-r1 Tue May 12 12:46:57 2009: ::: completed emerge (26 of 123) app-admin/eselect-boost-0.3 to / Tue May 12 13:21:12 2009: ::: completed emerge (32 of 123) dev-libs/boost-1.37.0-r1 to / Tue May 12 13:22:18 2009: >>> unmerge success: dev-libs/boost-1.35.0-r2 This bug needs to be split in two: one bug to fix revdep-rebuild to process data and function relocs (to catch the ABI breakage) and another to fix qbittorrent to build with dev-libs/boost-1.37.0, I think.
It looks like newer versions of qbittorrent (> 1.0.0) have been updated to work with boost > 1.35.0. Unfortunately those versions of qbittorrent are hard-masked because of dependencies on newer rb_libtorrent, which some other BitTorrent clients apparently can't build against yet. I'm going to try unmasking qbittorrent and rb_libtorrent and see what happens.
net-p2p/qbittorrent-1.3.3 merges successfully against dev-libs/boost-1.37.0-r1. So it's either time to remove qbittorrent and rb_libtorrent from package.mask, or backport the Boost > 1.35.0 updates from qbittorrent 1.3.3.
net-p2p/qbittorrent-1.0.0 is to be removed