Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 143585 - bogofilter-1.0.2 complains about missing shared environment in Berkeley DB
Summary: bogofilter-1.0.2 complains about missing shared environment in Berkeley DB
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Net-Mail Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-11 09:39 UTC by Henry Ristau
Modified: 2006-09-02 03:11 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
config.log (config.log,111.66 KB, text/plain)
2006-08-11 09:40 UTC, Henry Ristau
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Henry Ristau 2006-08-11 09:39:58 UTC
Portage 2.1-r1 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.6-r4, 2.6.16-gentoo-r9 i686)
=================================================================
System uname: 2.6.16-gentoo-r9 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.6.15
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
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-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-tbird -pipe -fomit-frame-pointer -mmmx -m3dnow"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/glftpd/etc /opt/glftpd/ftp-data /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-tbird -pipe -fomit-frame-pointer -mmmx -m3dnow"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow acpi apache2 apm avi bash-completion bcmath berkdb bzip2 cli cracklib crypt ctype dba dlloader dri eds emboss exif expat ftp gd gdbm gencertdaily gif gpm gstreamer httpd iconv icq imap imlib innodb ipv6 isdnlog jabber jpeg jpeg2k latin1 libg++ libwww lm_sensors maildir mmx mp3 mysql mysqli ncurses nls no-suexec ogg pam pcre pdflib perl png pppd python qmail qt3 qt4 readline reflection sensord session soap sockets spell spl sqlite ssl stream tcpd themes tiff unicode usb vhosts vim-pager vlm vorbis xml xml2 xorg zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Henry Ristau 2006-08-11 09:40:55 UTC
Created attachment 94001 [details]
config.log
Comment 2 Torsten Veller (RETIRED) gentoo-dev 2006-08-11 11:05:56 UTC
I guess it's a problem with your sys-libs/db installation.
Which sys-libs/db version(s) do you have installed? 
`equery list --exact-name --installed sys-libs/db`?
`ls -l /usr/lib/libdb.so` ?
Comment 3 Henry Ristau 2006-08-14 07:39:52 UTC
 # equery list --exact-name --installed sys-libs/db
[ Searching for package 'db' in 'sys-libs' among: ]
 * installed packages
[I--] [  ] sys-libs/db-4.2.52_p2-r1 (4.2)
 # ls -l /usr/lib/libdb.so
lrwxrwxrwx 1 root root 12 May 23 14:02 /usr/lib/libdb.so -> libdb-4.2.so
Comment 4 Torsten Veller (RETIRED) gentoo-dev 2006-08-15 10:14:58 UTC
Can you try and reinstall db `emerge --oneshot =sys-libs/db-4.2.52_p2-r1` ?
If you `quickpkg db` first it might be possible to spot a difference if it works after a reinstallation.


I tried it on a clean chroot and it works:

Portage 2.1-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16.26-xen i686)
=================================================================
System uname: 2.6.16.26-xen i686 AMD Athlon(tm) XP 2800+
Gentoo Base System version 1.12.4
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
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-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="de_DE.UTF-8"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 alsa apache2 apm arts avi berkdb bitmap-fonts cli crypt cups dlloader dri eds emboss encode esd foomaticdb gdbm gif gnome gstreamer gtk2 imlib isdnlog jpeg kde libg++ libwww mad mikmod motif mp3 mpeg ncurses ogg opengl oss pam pcre pdflib perl png pppd python qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcpd truetype truetype-fonts type1-fonts udev vorbis xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU"                                                                                                                            Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 5 Henry Ristau 2006-08-15 14:09:28 UTC
The good thing: After reinstalling db it works for me, too.
The bad thing: I messed up the quickpkg, so I can't tell the exact difference in the db-package. .oO(But now I now, that the package file in /usr/portage/packages/sys-libs/... is just a symbolic link and there is no use in safe-copying a symbolic link... ;o\)
Comment 6 Torsten Veller (RETIRED) gentoo-dev 2006-08-15 22:13:26 UTC
Paul, have you seen something like this? This is sys-libs/db-4.2.52_p2-r1.


From the attachment <http://bugs.gentoo.org/attachment.cgi?id=94001>:

configure:12896: checking if Berkeley DB supports shared environments
configure:12942: i686-pc-linux-gnu-gcc -o conftest -O2 -march=athlon-tbird -pipe -fomit-frame-pointer -mmmx -m3dnow  -Wpointer-arith -ggdb -Wall -W -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -Wmissing-declarations -Wmissing-format-attribute -Wnested-externs -fno-common -Wchar-subscripts -Wcomment -Wimplicit -Wsequence-point -Wreturn-type -Wno-system-headers -Wformat   conftest.c -lm  /usr/lib/libdb.so  >&5
conftest.c:103: warning: function declaration isn't a prototype
configure:12945: $? = 0
configure:12947: ./conftest
DB_ENV->open failed: Function not implemented
configure:12950: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h.  */
[...]
| /* end confdefs.h.  */
| 
| #ifdef HAVE_INTTYPES_H
| #include <inttypes.h>
| #endif
| #include <db.h>
| #include <stdio.h>
| #include <stdlib.h>
| #define TESTDIR "bfadtestdir"
| #define barf(where, what) do { fprintf(stderr, "%s failed: %s\n", where, db_strerror(what)); exit(1); } while(0)
| 
| int
| main ()
| {
| 
|     DB_ENV *e;
|     int r;
|     if ((r = db_env_create(&e, 0))) barf("db_env_create", r);
|     if ((r = e->open(e, TESTDIR, DB_INIT_LOG|DB_INIT_TXN|DB_INIT_MPOOL|DB_CREATE, 0664)))
| 	barf("DB_ENV->open", r);
|     if ((r = e->close(e, 0)))
|         barf("DB_ENV->close", r);
|     if ((r = db_env_create(&e, 0))) barf("db_env_create", r);
|     if ((r = e->remove(e, TESTDIR, 0))) barf("DB_ENV->remove", r);
|     return 0;
| 
|   ;
|   return 0;
| }
configure:12959: result: no
configure:12969: error:
Cannot open a shared environment in Berkeley DB. This is a known problem
on Fedora Core Linux. Build your own Berkeley DB installation and use
--with-libdb-prefix to point bogofilter to it. Alternatively, you can
use the unsafe non-transactional database by configuring with
--disable-transactions.
Packagers, if you are absolutely sure that the target system supports
shared environments, you can use --disable-dbshared-test.
Comment 7 Paul de Vrieze (RETIRED) gentoo-dev 2006-08-16 01:12:39 UTC
I've never seen this before. I've got an idea what causes the problems. What happens is that this DB_ENV type is a big bad struct that contains all kinds of function pointers. If somehow the alignment or function position changed everything breaks. This could very well be caused by a compiler change.
Comment 8 Henry Ristau 2006-08-16 02:26:32 UTC
I set up the system in the current state in may 2006 from stage 3. Since then there was no compiler change and no upgrade of sys-libs/db because no new versions became stable.
What could be a reason is that sys-libs/db was still the one from the stage 3 tarball and therefore different.
Comment 9 Torsten Veller (RETIRED) gentoo-dev 2006-09-02 03:11:13 UTC
I can't see what we can do here now. Reopen if you feel it's appropriate.