********************************** emerge --info ****************************** Portage 2.1_pre7-r4 (default-linux/amd64/2006.0, gcc-3.4.6, glibc-2.4-r1, 2.6.16-gentoo-r1 x86_64) ================================================================= System uname: 2.6.16-gentoo-r1 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.12.0_pre16 ccache version 2.4 [enabled] dev-lang/python: 2.4.2-r1 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=k8 -O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d" CXXFLAGS="-march=k8 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/opt/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X a52 aac aim alsa apache2 arts artswrappersuid avi berkdb bitmap-fonts bzip2 ccache cdparanoia cli cpudetection crypt ctype cups curl cvs dba dri dv dvd dvdread eds emboss encode expat fastbuild flac foomaticdb force-cgi-redirect fortran ftp gd gif gimp gnome gphoto2 gpm gs gstreamer gtk gtk2 hal ieee1394 imagemagick imlib ipv6 isdnlog jpeg kde kdeenablefinal kdepim kqemu lirc lm_sensors lzw lzw-tiff memlimit mp3 mpeg mysql ncurses nls nptl nptlonly ogg opengl pam pcre pda pdflib perl png posix postgres pppd python qt quicktime rdesktop readline rtc scanner sdl session simplexml soap sockets spell spl sql ssl subversion tcpd tiff tokenizer truetype truetype-fonts type1-fonts usb v4l v4l2 vcd vdr vorbis wifi xine xinerama xml xmms xpm xscreensaver xsl xv xvid xvmc zeroconf zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU video_cards_fglrx video_cards_ati video_cards_vesa video_cards_fbdev" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS ******************************** output of emerge kdevelop ****************** Making all in catalog make[3]: Entering directory `/var/tmp/portage/kdevelop-3.3.2/work/kdevelop-3.3.2/lib/catalog' /bin/sh ../../libtool --silent --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/kde/3.5/include -I/ usr/qt/3/include -I. -I/usr/kde/3.5/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_ SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_N O_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o tag.lo tag.cpp /bin/sh ../../libtool --silent --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/kde/3.5/include -I/ usr/qt/3/include -I. -I/usr/kde/3.5/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_ SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_N O_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -c -o catalog.lo catalog.cpp catalog.cpp: In member function `QValueList<Tag> Catalog::query(const QValueList<QPair<QCString, QVariant> >&)': catalog.cpp:434: warning: comparison between signed and unsigned integer expressions /bin/sh ../../libtool --silent --tag=CXX --mode=link x86_64-pc-linux-gnu-g++ -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOUR CE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -DNDEBUG -DNO_DEBUG -O2 -march=k8 -O2 -pipe -Wformat-security -Wmi ssing-format-attribute -Wno-non-virtual-dtor -fno-exceptions -fno-check-new -fno-common -DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_ST L -DQT_NO_COMPAT -DQT_NO_TRANSLATION -o libkdevcatalog.la -rpath /usr/lib64 -no-undefined -Wl,--no-undefined -Wl,--allow-shlib-undefine d -L/usr/kde/3.5/lib64 -L/usr/qt/3/lib64 -L/usr/lib64 -L/usr/kde/3.5/lib64 tag.lo catalog.lo -ldb -lkdecore -lqt-mt -lz -lpng -lz -lm -lXext -lX11 -lSM -lICE -lpthread .libs/catalog.o: In function `Catalog::open(QString const&)': catalog.cpp:(.text+0x5e): undefined reference to `db_create_4002' catalog.cpp:(.text+0x69): undefined reference to `db_strerror_4002' catalog.cpp:(.text+0x162): undefined reference to `db_strerror_4002' catalog.cpp:(.text+0x19e): undefined reference to `db_strerror_4002' .libs/catalog.o: In function `Catalog::addIndex(QCString const&)': catalog.cpp:(.text+0x1534): undefined reference to `db_create_4002' catalog.cpp:(.text+0x159a): undefined reference to `db_strerror_4002' catalog.cpp:(.text+0x1873): undefined reference to `db_strerror_4002' catalog.cpp:(.text+0x18ef): undefined reference to `db_strerror_4002' .libs/catalog.o: In function `Catalog::query(QValueList<QPair<QCString, QVariant> > const&)': catalog.cpp:(.text+0x1d73): undefined reference to `db_strerror_4002' catalog.cpp:(.text+0x1d91): undefined reference to `db_strerror_4002' .libs/catalog.o:catalog.cpp:(.text+0x1fae): more undefined references to `db_strerror_4002' follow collect2: ld returned 1 exit status make[3]: *** [libkdevcatalog.la] Error 1 make[3]: Leaving directory `/var/tmp/portage/kdevelop-3.3.2/work/kdevelop-3.3.2/lib/catalog' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/kdevelop-3.3.2/work/kdevelop-3.3.2/lib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/kdevelop-3.3.2/work/kdevelop-3.3.2' make: *** [all] Error 2 !!! ERROR: dev-util/kdevelop-3.3.2 failed. Call stack: ebuild.sh, line 1526: Called dyn_compile ebuild.sh, line 923: Called src_compile kdevelop-3.3.2.ebuild, line 53: Called kde_src_compile kde.eclass, line 113: Called kde_src_compile 'all' kde.eclass, line 230: Called kde_src_compile 'myconf' 'configure' 'make' kde.eclass, line 226: Called die
Created attachment 84132 [details, diff] Explicitly set db include directory This error seems to occur if both db-4.1* and db-4.2* are installed. In which case the 4.2 version headers are detected and used whilst 4.1 is assumed elsewhere in the code. This can be avoided by specifying the db include directory as a configure option. Note that kdevelop already explicity depends on db-4.1*.
Even without the patch you provided, just downgrading to 4.1.25_p2 did it. It sounds like this is a dependency issue in the ebuild. I wonder if I should close this out or leave it open until the fix makes it into the portage?
The requirements list explicitly says that the db version must be Berkley DB >= 3.0 and <= 4.1. So it must be a dependency issue. The dep. list: http://kdevelop.org/index.html?filename=3.3/requirements.html
in cvs :)
The new patch does not work for me. I have db4.2 installed before installing db4.1 which was needed by kdevelop, and get almost exactly the same error messages with the patched ebuild as in the original report (only difference is db_create_4001 instead of db_create_4002, etc.) catalog.cpp:(.text+0x103): undefined reference to `db_create_4001' catalog.cpp:(.text+0x10f): undefined reference to `db_strerror_4001' etc. The cause is '-ldb', which links to libdb. But libdb is linked to libdb-4.2 . There is however an configure option included to change the linked db library: --with-db-lib. Setting this to "db-4.1" solved the error for me. Updated line in ebuild with --with-db-lib: # Explicitly set db include directory (bug 128897) myconf="${myconf} --with-db-includedir=${ROOT}/usr/include/db4.1 --with-db-lib=db-4.1"
*** Bug 130725 has been marked as a duplicate of this bug. ***
*** Bug 130765 has been marked as a duplicate of this bug. ***
Reopen wrt the duplicate bugs.
Marc Hulsman's suggestion works for me. Thanks!
Um, of course...
*** Bug 130904 has been marked as a duplicate of this bug. ***
*** Bug 133796 has been marked as a duplicate of this bug. ***
The problem persists if you have sys-libs/db-4.2* but you don't have sys-libs/db-4.1* installed. The problem resides in how dependencies are specified. In the ebuild the DEPEND var is =sys-libs/db-4*, which is complied by sys-libs/db-4.2*, but kdevelop still fails to compile. [..] checking for svn libraries... checking for APR... found checking for APR util... found checking for Subversion svn-config... yes checking for Neon... found checking whether to build the vcs compat lib... no checking for Berkeley DB >= 3... configure: error: no - please install Berkeley DB >= 3 and <= 4.1
Created attachment 87070 [details, diff] Fix depend to sys-libs/db-4.1*
I would like to see the config.log because it's currently linking correctly to 4.2, that's why I changed that dependency.
Created attachment 87071 [details] Failed config.log
Thank you for the quick response. I think I know why I didn't hit the problem, I built KDevelop before the change in versioning. Thanks to Paul, we now have a way to fix this in the good way. I'll make sure that it won't get silly dependencies and it will still build correctly :)
I've committed a fix using db-use eclass, that makes it link correctly to the _latest_ db installed so that it will correspond to the db dependency. Note: the error message is misleading and probably broken, KDevelop _does_ support db 4.2 and 4.3, it was _before_ it used not to accept >= 4.1 versions.
I forgot to close this bug.