Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 124982 - mail-filter/maildrop-2.0.2 fails - undefined reference to `db_create'
Summary: mail-filter/maildrop-2.0.2 fails - undefined reference to `db_create'
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Paul de Vrieze (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-04 10:30 UTC by Rumen Yotov
Modified: 2006-05-29 11:43 UTC (History)
2 users (show)

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


Attachments
my bdbobj/Makefile (bdbobj-slash-Makefile,20.46 KB, text/plain)
2006-05-26 12:44 UTC, Mark Glines
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rumen Yotov 2006-03-04 10:30:08 UTC
Hi,
Newest mail-filter/maildrop-2.0.2 fails to compile. All ~x86 system.
Logs go next:
...BEGIN...
checking whether we are using the GNU Fortran 77 compiler... (cached) no
checking whether  accepts -g... (cached) no
checking the maximum length of command line arguments... (cached) 32768
checking command to parse /usr/bin/i686-pc-linux-gnu-nm -B output from i686-pc-linux-gnu-gcc object... (cached) ok
checking for objdir... (cached) .libs
checking for i686-pc-linux-gnu-ar... (cached) i686-pc-linux-gnu-ar
checking for i686-pc-linux-gnu-ranlib... (cached) i686-pc-linux-gnu-ranlib
checking for i686-pc-linux-gnu-strip... (cached) i686-pc-linux-gnu-strip
checking for correct ltmain.sh version... yes
checking if i686-pc-linux-gnu-gcc supports -fno-rtti -fno-exceptions... (cached) no
checking for i686-pc-linux-gnu-gcc option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-gcc PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-gcc static flag -static works... yes
checking if i686-pc-linux-gnu-gcc supports -c -o file.o... (cached) yes
checking whether the i686-pc-linux-gnu-gcc linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by i686-pc-linux-gnu-g++... (cached) /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... (cached) yes
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking for i686-pc-linux-gnu-g++ option to produce PIC... -fPIC
checking if i686-pc-linux-gnu-g++ PIC flag -fPIC works... yes
checking if i686-pc-linux-gnu-g++ static flag -static works... yes
checking if i686-pc-linux-gnu-g++ supports -c -o file.o... (cached) yes
checking whether the i686-pc-linux-gnu-g++ linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
appending configuration tag "F77" to libtool
checking for db_create_4002 in -ldb-4.2... (cached) yes
checking for db_create_4002... (cached) yes
checking for db_create_4001... (cached) no
checking for db_create_4000... (cached) no
checking for db_create... (cached) no
checking for limits.h... (cached) yes
checking for fcntl.h... (cached) yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... (cached) yes
checking for size_t... (cached) yes
checking if the C++ compiler needs -fhandle-exceptions... no
configure: creating ./config.status
 /bin/sh ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
make[1]: Leaving directory `/var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/bdbobj'
make[1]: Entering directory `/var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/bdbobj'
cd . && /bin/sh /var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/missing --run autoheader
rm -f stamp-h1
touch config.h.in
make  all-am
make[2]: Entering directory `/var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/bdbobj'
Compiling bdbobj.c
Compiling bdbobj2.c
Compiling bdbobj3.c
Compiling testbdb.C
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
Linking libbdbobj.la
Linking testbdb
./.libs/libbdbobj.a(bdbobj.o): In function `.L11':
bdbobj.c:(.text+0xfa): undefined reference to `db_create'
collect2: ld returned 1 exit status
make[2]: *** [testbdb] Error 1
make[2]: Leaving directory `/var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/bdbobj'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/bdbobj'
make: *** [all-recursive] Error 1

!!! ERROR: mail-filter/maildrop-2.0.2 failed.
Call stack:
  ebuild.sh, line 1933:   Called dyn_compile
  ebuild.sh, line 971:   Called src_compile

!!! compile problem
!!! If you need support, post the topmost build error, and the call stack if relevant.
...END..
mail-filter/maildrop-2.0.2 [2.0.1-r1] USE="berkdb -authlib% -debug -fam -gdbm -ldap -mysql -postgres"
Thanks.Rumen
emerge --info follows:
Gentoo Base System version 1.12.0_pre16
Portage 2801-svn (!/usr/portage/profiles/default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-gentoo-r7 i686)
=================================================================
System uname: 2.6.15-gentoo-r7 i686 AMD Athlon(tm) XP 2200+
dev-lang/python:     2.4.2
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-r1
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE=""
ALSA_CARDS="ens1371"
ARCH="x86"
AUTOCLEAN="yes"
BASH_ENV="/etc/spork/is/not/valid/profile.env"
CBUILD="i686-pc-linux-gnu"
CCACHE_DIR="/var/tmp/ccache"
CCACHE_SIZE="2G"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CLEAN_DELAY="5"
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/lib/mozilla/defaults/pref /usr/share/config /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/init.d /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d"
CVS_RSH="ssh"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DCCC_PATH="/usr/lib/distcc/bin"
DISPLAY=":0.0"
DISTCC_LOG=""
DISTCC_VERBOSE="0"
DISTDIR="/var/portage/distfiles"
EDITOR="/bin/nano"
ELIBC="glibc"
EMERGE_DEFAULT_OPTS="--verbose"
EMERGE_WARNING_DELAY="10"
FEATURES="autoconfig buildpkg ccache collision-protect confcache distlocks enotice gpg metadata-transfer parallel-fetch sandbox sfperms userpriv usersandbox"
FETCHCOMMAND="/usr/bin/wget -t 5 --passive-ftp -P ${DISTDIR} ${URI}"
FLTK_DOCDIR="/usr/share/doc/fltk-1.1.7/html"
GCC_SPECS=""
GDK_USE_XFT="1"
GENTOO_MIRRORS="http://gentoo.ITDNet.net/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://files.gentoo.gr http://mirror.etf.bg.ac.yu/gentoo http://mirror.datapipe.net/gentoo"
G_BROKEN_FILENAMES="1"
HOME="/root"
HOSTNAME="mach"
INFOPATH="/usr/share/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info:/usr/share/gcc-data/i686-pc-linux-gnu/3.4.5/info"
KDEDIRS="/usr"
KERNEL="linux"
LADSPA_PATH="/usr/lib/ladspa"
LESS="-R -M --shift 5"
LESSOPEN="|lesspipe.sh %s"
LOGNAME="root"
MAKEOPTS="-j2"
MANPATH="/usr/local/share/man:/usr/share/man:/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man:/usr/share/gcc-data/i686-pc-linux-gnu/3.4.5/man:/usr/qt/3/doc/man"
MOZILLA_FIVE_HOME="/usr/lib/mozilla"
OPENGL_PROFILE="nvidia"
PAGER="/usr/bin/less"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.4.5:/usr/bin:/usr/kde/3.5/sbin:/usr/kde/3.5/bin:/usr/qt/3/bin:/var/qmail/bin"
PKGDIR="/var/portage/packages"
PORTAGE_ARCHLIST="ppc s390 amd64 ppc64 m68k arm sparc sh mips ia64 alpha ppc-macos hppa x86"
PORTAGE_BINHOST_CHUNKSIZE="3000"
PORTAGE_CALLER="emerge"
PORTAGE_ELOG_CLASSES="info warn error log"
PORTAGE_ELOG_MAILFROM="portage@qrypto.org"
PORTAGE_ELOG_MAILURI="gentoo@mach.qrypto.org localhost"
PORTAGE_ELOG_SYSTEM="save mail"
PORTAGE_GID="250"
PORTAGE_GPG_DIR="/etc/portage/gpg"
PORTAGE_MASTER_PID="1267"
PORTAGE_TMPDIR="/var/tmp"
PORTAGE_TMPFS="/dev/shm"
PORTDIR="/var/portage"
PORTDIR_OVERLAY="/usr/local/portage"
PORT_ENOTICE_DIR="/var/enotice/"
PORT_LOGDIR="/var/log/portage"
PRELINK_PATH=""
PRELINK_PATH_MASK="/usr/lib/gstreamer-0.10:/usr/lib/gstreamer-0.8:/usr/lib/klibc"
PWD="/root"
PYTHONDOCS="/usr/share/doc/python-docs-2.4.2/html"
PYTHONPATH="/usr/lib/portage/pym"
QMAIL_CONTROLDIR="/var/qmail/control"
QMAKESPEC="linux-g++"
QTDIR="/usr/qt/3"
RESUMECOMMAND="/usr/bin/wget -c -t 5 --passive-ftp -P ${DISTDIR} ${URI}"
RPMDIR="/usr/portage/rpm"
RSYNC_RETRIES="3"
RSYNC_TIMEOUT="180"
RUBYOPT="-rauto_gem"
SEARCH_DIRS_MASK="/usr/lib/openoffice"
SHELL="/bin/bash"
SHLVL="2"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
TERM="xterm"
TMAKEPATH="/usr/lib/tmake/linux-g++"
USE="x86 3dnow X X509 a52 aac acl acpi alsa apache2 avi bash-completion berkdb bitmap-fonts caps cdb cdr crypt cups curl dvd dvdr eds encode esd evo exif ffmpeg flac foomaticdb freetype gd gif gnutls gstreamer gtk gtk2 gtkhtml hal iconv imap imlib ipv6 ithreads javascript jpeg kdexdeltas lcms libg++ libwww mad maildir matroska mikmod mime mmx motif mp3 mpeg ncurses nls nptl nvidia ogg opengl oss pam pdflib perl png posix ppds prelude python quicktime readline sdl skey speex spell sse ssl svg symlink tcpd theora threads transcode truetype truetype-fonts type1-fonts udev unicode usb vorbis win32codecs xine xml xsl xv xvid zlib elibc_glibc kernel_linux userland_GNU"
USER="root"
USERLAND="GNU"
USE_EXPAND="DVB_CARDS ELIBC FCDSL_CARDS FRITZCAPI_CARDS INPUT_DEVICES KERNEL LINGUAS USERLAND VIDEO_CARDS"
USE_EXPAND_HIDDEN=""
USE_ORDER="env:pkg:conf:defaults"
XARGS="xargs -r"
XAUTHORITY="/root/.xauthpLDBSt"
XINITRC="/etc/X11/xinit/xinitrc"
_="/usr/bin/emerge"
Comment 1 Rumen Yotov 2006-03-04 10:40:02 UTC
Hi again,
Disabling "berkdb" USE flag solved the problem.
Thanks.Rumen
Comment 2 Fernando J. Pereda (RETIRED) gentoo-dev 2006-04-30 06:26:40 UTC
I'm sorry I can't seem to reproduce this one... If you still experience this bug, please reopen with more info.

Cheers,
Ferdy
Comment 3 Rumen Yotov 2006-04-30 08:20:00 UTC
Hi,
Just tried again, still no luck, same kind of error (berkdb).
May be some autotools issue is involved.
For quite a long time have ">=sys-libs/db-4.3" unmasked (IIRC vapier's test request). Have these versions installed:
sys-libs/db-3.2.9-r10
sys-libs/db-1.85-r3
sys-libs/db-4.2.52_p4
sys-libs/db-4.4.20
sys-libs/db-4.3.29
...END...
Might be related to this Bug, last two are still masked (>=sys-libs/db-4.3).
For now leave workdir uncleaned. What kind of info you need?
Reopening, but feel free to close as you think is appropriate (INVALID, etc.)
Thanks.Rumen
Comment 4 Fernando J. Pereda (RETIRED) gentoo-dev 2006-05-11 23:44:06 UTC
Having the generated Makefile's should help. Specially inside the one inside the bdbobj/ directory. That way we can see which library it's trying to link to, and probably guess why it's failing.

Thanks.

- ferdy
Comment 5 Mark Glines 2006-05-26 12:42:04 UTC
I'm having this issue too.  The file bdbobj.c hardcodes a call to db_create(), which does not exist in the version of berkeley-DB I have installed.  If I patch bdbobj.c to call db_create_4002() instead of db_create(), it works.  But I don't think that's a valid fix in the long term.

Here's the relevant portion of the ./configure output:

checking for db_create_4002 in -ldb-4.2... yes
checking for db_create_4002... yes
checking for db_create_4001... no
checking for db_create_4000... no
checking for db_create... no
updating cache /var/tmp/portage/maildrop-2.0.2/work/maildrop-2.0.2/configuring.cache

This output is also shown in the original report, above.

Since autoconf is detecting which of these functions are available, perhaps it just needs a little more autoconf magic so bdbobj.c can call something which exists, rather than hardcoding the db_create() call?  Or maybe bdb is broken because it's missing db_create().

I'll attach my bdbobj/Makefile in a moment.

Mark
Comment 6 Mark Glines 2006-05-26 12:44:58 UTC
Created attachment 87585 [details]
my bdbobj/Makefile
Comment 7 Fernando J. Pereda (RETIRED) gentoo-dev 2006-05-27 14:03:24 UTC
From what I've seen in the 'BDB Reference API' db_create is part of it. I consider this a sys-libs/db problem then.

Paul, I think this is for you from what I read in metadata.xml. Feel free to reassign it to me if this is not a db problem.

- ferdy
Comment 8 Paul de Vrieze (RETIRED) gentoo-dev 2006-05-29 02:54:12 UTC
Ok, this is probably a header library mismatch. It links with the 4.2 library, but probably uses the 4.4 headers. I'll look at fixing up the ebuild to use the proper library.
Comment 9 Paul de Vrieze (RETIRED) gentoo-dev 2006-05-29 03:01:55 UTC
Could you try without confcache? At some point it says it cached that db_create does not exist. This symbol should exist in db-4.3 and db-4.4
Comment 10 Paul de Vrieze (RETIRED) gentoo-dev 2006-05-29 03:28:31 UTC
Ok, I found the cause of the problem. Basically the patch for the db check had to be fixed. I've just committed a fixed 2.0.2.

Fernando: I've created a new patch and changed 2.0.2 to use it. In principle it would however be possible to replace it. See what you want to do about that.
Comment 11 Mark Glines 2006-05-29 07:26:09 UTC
(In reply to comment #10)
> Ok, I found the cause of the problem. Basically the patch for the db check had
> to be fixed. I've just committed a fixed 2.0.2.

Confirmed, maildrop-2.0.2 now tries to link against libdb-4.3 instead of libdb-4.2, and the resulting executable works just fine.  Thanks!
Comment 12 Paul de Vrieze (RETIRED) gentoo-dev 2006-05-29 11:43:38 UTC
You're welcome