Trying to merge any of bogofilter-1.13.7.2 or bogofilter-1.13.7.3 results in the following error: checking whether db_create is declared... yes checking whether optreset is declared... no checking for library providing db_create... no configure: error: Can not locate a suitable Berkeley DB library. Use --with-db=PATH to specify the path to a v3+ install directory !!! ERROR: net-mail/bogofilter-0.13.7.3 failed. !!! Function econf, Line 304, Exitcode 1 !!! econf failed Reproducible: Always Steps to Reproduce: emerge bogofilter Actual Results: It does not emerge. Expected Results: It should emerge. .2 is in x86, .3 is in ~x86 Portage 2.0.48-r1 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1) ================================================================= System uname: 2.4.20-wolk4.3s i686 Intel(R) Pentium(R) III Mobile CPU 1200MHz GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/var/cache/portage/distfiles" PKGDIR="/var/cache/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mmx mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gtkhtml alsa gdbm berkdb slang readline arts tetex aalib nas bonobo svga ggi tcltk java guile X sdl gpm tcpd pam libwww ssl perl python imlib oggvorbis qt kde motif opengl ldap cdr artswrappersuid dvd evo fbcon gps gtk2 icc leim moznoirc moznomail mule pcmcia plotutils pnp prebuilt sse tiff usb wmf Xaw3d -3dnow -mikmod -esd -gnome -gtk -mozilla" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium3 -Os -fomit-frame-pointer -mmmx -msse -pipe " CXXFLAGS="-march=pentium3 -Os -fomit-frame-pointer -mmmx -msse -pipe " ACCEPT_KEYWORDS="x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://gentoo.chem.wisc.edu/gentoo-portage" FEATURES="sandbox ccache" ------------------------------------------------- %emerge -p db These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/db-3.2.9-r2
checking whether db_create is declared... yes checking whether optreset is declared... no checking for library providing db_create... -ldb checking if a program can be linked against BerkeleyDB and run... yes checking if BerkeleyDB header and library versions match... yes [ebuild R ] sys-libs/db-3.2.9-r6 I am running -r6 and you are still on -r2 for db The only difference I can see between the two ebuilds is that -r6 should be compatible to sit side by side with db4 and small configure change so your CFLAGS are actually used. If you would like to install db-3.2.9-r6 and attempt to install bogofilter again, that would be great. If not I will at least need to see your config.log to see where the failure might be. The config.log should be in /var/tmp/portage/bogofilter-(version)/work/bogofilter-(version)/config.log Add it as an attachment to this bug.
Created attachment 14836 [details] config log for bogofilter-1.13.7.3
Created attachment 14837 [details] config log for bogofilter-1.13.7.3
sorry for the double post, I had an error from Bugzilla BTW, I've emerged db -r6 and it still does not work. Cheers
make sure /usr/lib/libdb.so exists qpkg -f /usr/lib/libdb.so -fomit-frame-pointer also may be causing trouble, try removing that from your CFLAGS
%qpkg -f /usr/lib/libdb.so sys-libs/db * %ls -la /usr/lib/libdb.so lrwxrwxrwx 1 root root 12 Jul 21 20:06 /usr/lib/libdb.so -> libdb-3.2.so emerged both db and bogofilter with -O2 -pipe and it didn't helped
There appears to be a version mismatch between your headers and your libraries. Make sure that /usr/include/db.h exists, and that it contains these lines: #define DB_VERSION_MAJOR 3 #define DB_VERSION_MINOR 2 #define DB_VERSION_PATCH 9
Looks like it is dying because of the threads library and not because of DB. My glibc wasn't compiled with threads (lack of a USE flag!), I am recompiling it.
glibc allways compiles in the pthread library. The thread library does not exist in linux. Also if you look at your log you can see that where it tries to link with -ldb-3.2 -lpthread it compiles, but then the program exited with a nonzero result.
about /usr/include/db.h: it exists and has the correct VERSION defines. But I am receiving major 3, minor 2 when calling db_version, while DB_VERSION_MINOR is 1. I will try to discover from where it is getting that MINOR 1. I will attach the test program. about threads: yes, I was wrong, I read it wrong from conf.log.
Created attachment 14867 [details] test program (modified from config.log) compiled with gcc -lpthread -ldb
I wasn't able to find the place from where it is getting the wrong MINOR, but it compiled in another box. I'll use the binary until I discover what is the problem (probably something with my box, some bad old update)
Works for me and many other people. Glad to hear it's an isolated incident. Post here if you find the solution to your problem.