Heres the error i get PERL_DL_NONLAZY=1 /usr/bin/perl5.8.6 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/db-btree....Can't load '/home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so' for module DB_File: /home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so: undefined symbol: db_version_4000 at /usr/lib/perl5/5.8.6/i686-linux/DynaLoader.pm line 230. at t/db-btree.t line 34 Compilation failed in require at t/db-btree.t line 34. BEGIN failed--compilation aborted at t/db-btree.t line 34. t/db-btree....dubious Test returned status 255 (wstat 65280, 0xff00) t/db-hash.....Can't load '/home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so' for module DB_File: /home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so: undefined symbol: db_version_4000 at /usr/lib/perl5/5.8.6/i686-linux/DynaLoader.pm line 230. at t/db-hash.t line 23 Compilation failed in require at t/db-hash.t line 23. BEGIN failed--compilation aborted at t/db-hash.t line 23. t/db-hash.....dubious Test returned status 255 (wstat 65280, 0xff00) t/db-recno....Can't load '/home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so' for module DB_File: /home/tmp/portage/DB_File-1.811/work/DB_File-1.811/blib/arch/auto/DB_File/DB_File.so: undefined symbol: db_version_4000 at /usr/lib/perl5/5.8.6/i686-linux/DynaLoader.pm line 230. at t/db-recno.t line 23 Compilation failed in require at t/db-recno.t line 23. BEGIN failed--compilation aborted at t/db-recno.t line 23. t/db-recno....dubious Test returned status 255 (wstat 65280, 0xff00) FAILED--3 test scripts could be run, alas--no output ever seen make: *** [test_dynamic] Error 255 Heres my emerge info Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r1y i686) ================================================================= System uname: 2.6.11-gentoo-r1y i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.6.10 Python: dev-lang/python-2.2.3-r5,dev-lang/python-2.3.5 [2.3.5 (#1, Feb 17 2005, 22:48:26)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.2.3-r5, 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r6 sys-devel/libtool: 1.5.14 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 X alsa apm arts avi berkdb bitmap-fonts bonobo cdr crypt cups curl dga directfb emboss encode esd fam fbcon font-server foomaticdb fortran gdbm ggi gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml gtksharp guile imlib ipv6 java jpeg kde libg++ libwww mad mikmod motif mozilla mp3 mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline samba sdl slang spell sse ssl svga tcpd tiff truetype truetype-fonts type1-fonts usb xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Can you list for me which versions of sys-libs/db you have installed?
Yes i have versions 4.2.52_p2, 1.85-r2, 3.2.9-r10, 4.1.25_p1-r4, and 4.0.14-r2.
All right, bear with me :) The problem isn't identifying your problem, but figuring out why it's happening. The problem is consistent with DB_File not being able to consistently identify which version of sys-libs/db you have installed. My last shot in the dark before attempting a hackish ebuild to overcome this: ls -al /usr/include/db.h ls -al /usr/lib/libdb.so ls -al /usr/lib/libdb.a They should both have the same timestamp and point to the same major/minor version. My hackish/brute approach would be to dynamically generate a config.in for DB_File, I'm just leery of this approach since it adds room for error/complication.
ls -al /usr/include/db.h lrwxr-xr-x 1 root root 8 Jan 3 14:52 /usr/include/db.h -> db4/db.h ls -al /usr/lib/libdb.* lrwxr-xr-x 1 root root 11 Jan 3 14:51 /usr/lib/libdb.a -> libdb-4.2.a lrwxr-xr-x 1 root root 12 Jan 3 14:52 /usr/lib/libdb.so -> libdb-4.2.so lrwxr-xr-x 1 root root 11 Jan 3 14:51 /usr/lib/libdb.so.2 -> libdb1.so.2 lrwxr-xr-x 1 root root 12 Jan 3 14:51 /usr/lib/libdb.so.3 -> libdb-3.2.so So this appers to be correct?
I am by no means a DB expert (or even novice hobbyist) - but that doesn't look quite right to me. Below is the output of the same from three of my boxes (one out of date, I know), but in all cases /usr/include/db.h should be symlinked to the same version as libdb.*, ie db4.1/ and libdb-4.1, db4.2/ and libdb-4.2, etc. I suspect that your symlink for /usr/include/db.h should be pointing to /usr/include/db4.2/db.h, not db4/db.h. Would you mind changing that symlink and trying again? Thanks! Output from my three boxes: work ~ $ ls -al /usr/include/db.h lrwxr-xr-x 1 root root 10 Jan 12 13:35 /usr/include/db.h -> db4.1/db.h work ~ $ ls -al /usr/lib/libdb.* lrwxr-xr-x 1 root root 11 Jan 12 13:35 /usr/lib/libdb.a -> libdb-4.1.a lrwxr-xr-x 1 root root 12 Jan 12 13:35 /usr/lib/libdb.so -> libdb-4.1.so lrwxr-xr-x 1 root root 11 Jan 12 13:35 /usr/lib/libdb.so.2 -> libdb1.so.2 gnosis ~ $ ls -al /usr/include/db.h lrwxrwxrwx 1 root root 10 Jan 2 23:19 /usr/include/db.h -> db4.2/db.h gnosis ~ $ ls -al /usr/lib/libdb.* lrwxrwxrwx 1 root root 11 Jan 2 23:19 /usr/lib/libdb.a -> libdb-4.2.a lrwxrwxrwx 1 root root 12 Jan 2 23:19 /usr/lib/libdb.so -> libdb-4.2.so nomad ~ $ ls -al /usr/include/db.h lrwxr-xr-x 1 root root 10 Oct 2 00:36 /usr/include/db.h -> db4.2/db.h nomad ~ $ ls -al /usr/lib/libdb.* lrwxr-xr-x 1 root root 11 Oct 2 00:36 /usr/lib/libdb.a -> libdb-4.2.a lrwxr-xr-x 1 root root 12 Oct 2 00:36 /usr/lib/libdb.so -> libdb-4.2.so
Thanks Michael! Changing the above symlink to db4.2/db.h allowed me to install the new DB_File. I do not know what was responsible for the old symlink as I did not ever manually change it myself, perhaps another program (non-portage) that I had installed did some trickery. Anyway thanks again. Should I close this? I'll let someone else decide.
<magic genie waves wand> closed :) Glad it worked out so easily (bad symlink aside). Sorry for the inconvenience, Mike