Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 177942 - Apache doesn't declare db as a dependency and compilation fails
Summary: Apache doesn't declare db as a dependency and compilation fails
Status: RESOLVED DUPLICATE of bug 92212
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High major (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-10 15:52 UTC by Jeff Mitchell
Modified: 2007-05-10 16:46 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff Mitchell 2007-05-10 15:52:20 UTC
When cleaning my system yesterday, I did an emerge --depclean followed by a revdep-rebuild and an emerge -uDN world.

Today when stopping Apache I find out that it's broken because it's looking for db4.3, despite the fact that revdep-rebuild was clean.  So I decided to re-emerge (my system currently has db 1, 3, and 4.5).

Apache doesn't pull in 4.3 as a dependency, but includes it from the configure script, and compilation fails.



Reproducible: Always

Steps to Reproduce:
1. Unmerge db-4.3 and do a revdep-rebuild. (Which didn't catch Apache).
2. Try to emerge Apache again.
3. It breaks because it can't find db 4.3

Actual Results:  
Compilation dies complaining about db 4.3.

Expected Results:  
Revdep-rebuild catches Apache breakage.  When emerging Apache, either it pulls in db 4.3 as a dependency, or uses a version currently on my system.  Apache is a critical package, and this is major b0rkage.
Comment 1 Jeff Mitchell 2007-05-10 15:53:00 UTC
From the configure script output:

  setting EXTRA_INCLUDES to " -I/usr/include/apr-0  -I/usr/include/db4.3 -I. -I$(top_srcdir)/os/$(OS_DIR) -I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME) -I$(top_srcdir)/modules/http -I$(top_srcdir)/modules/filters -I$(top_srcdir)/modules/proxy -I$(top_srcdir)/include -I$(top_srcdir)/modules/generators -I/usr/include/openssl -I$(top_srcdir)/modules/dav/main"


/usr/include/db4.3 doesn't even exist on my machine anymore.

Unsurprisingly, compilation fails:

/usr/share/apr-0/build/libtool --silent --mode=link x86_64-pc-linux-gnu-gcc  -pthread  -march=nocona -O2 -pipe  -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER   -I/usr/include/apr-0 -I/usr/include/db4.3 -I. -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/os/unix -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/server/mpm/worker -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/modules/http -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/modules/filters -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/modules/proxy -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/include -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/modules/generators -I/usr/include/openssl -I/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/modules/dav/main -export-dynamic -L/usr/lib64 -L/usr/lib   -o rotatelogs  rotatelogs.lo   -lz -lssl -lcrypto -ldl /var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/srclib/pcre/libpcre.la /usr/lib64/libaprutil-0.la -lldap -llber -lgdbm -ldb-4.3 -lexpat /usr/lib64/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl
libtool: link: cannot find the library `/usr/lib64/libdb-4.3.la'
make[2]: *** [htpasswd] Error 1
make[2]: *** Waiting for unfinished jobs....
libtool: link: cannot find the library `/usr/lib64/libdb-4.3.la'
make[2]: *** [htdigest] Error 1
libtool: link: cannot find the library `/usr/lib64/libdb-4.3.la'
make[2]: *** [rotatelogs] Error 1
make[2]: Leaving directory `/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/net-www/apache-2.0.58-r2/work/httpd-2.0.58/support'
make: *** [all-recursive] Error 1


emerge --info:

Portage 2.1.2.2 (default-linux/amd64/2006.0, gcc-4.1.1, glibc-2.5-r2, 2.6.19-gentoo-r5 x86_64)
=================================================================
System uname: 2.6.19-gentoo-r5 x86_64 Intel(R) Pentium(R) D CPU 3.00GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Thu, 10 May 2007 07:00:01 +0000
ccache version 2.4 [disabled]
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r7
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.61
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r2
ACCEPT_KEYWORDS="amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-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/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c"
CXXFLAGS="-O2 -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="en_US.utf8"
LC_ALL="en_US.utf8"
MAKEOPTS="-j3"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X X509 a52 aac aalib acpi aiglx aim alsa amarok amd64 apache2 arts asf async audiofile authfile authlib automount avalon bash-completion bcmath bdf berkdb bidi bitmap-fonts bittorrent bonobo bzip2 cairo calendar cddb cdparanoia cgi chroot cjk clamav clamd cli commercial contentcache cracklib crypt css ctype cups curl curlwrappers daap dbus dcc dcraw dga dio directfb disassembler dovecot-sasl dri dts dvd dvdr dvdread ecc eds emacs emboss encode esd ethereal exif expat extraengine extrafilters fam fame fastcgi fat ffmpeg fftw firefox flac fltk font-server fontconfig foomaticdb force-cgi-redirect fortran fpx ftp fuse gd gdbm gif glut gmp gnome gpgme gpm graphviz gs gstreamer gtk gtk2 gtkhtml guile hal hash howl howl-compat hpn iconv icq id3 idea idn ifsession imagemagick imap imlib innodb inode iproute2 ipv6 irc isdnlog jabber java javamail javascript jbig jce jikes jms jmx joystick jpeg jpeg2k json jython kde kdeenablefinal lame largeterminal latex lcms ldap libcaca libedit libg++ libvisual libwww lm_sensors logitech-mouse logrotate lzo lzw lzw-tiff mad mailbox maildir math mbox mcal mdnsresponder-compat memlimit mhash midi mikmod mime mjpeg mmap mng modplug mono motif mouse mozilla mozsvg mp3 mp4live mpeg mpeg2 mplayer msn mule multiuser musepack musicbrainz mysql mysqli ncurses nethack netpbm network new-login nfs nis nls nocardbus nptl nptlonly nsplugin ntfs nvidia nxclient offensive ogg oggvorbis on-the-fly-crypt openexr opengl openntpd openssh oss pam pango passwordsave paste64 pcntl pcre pear pear-db perl php plotutils pmu png pop3d posix postfix ppds pppd pulseaudio python qt3 qt3support qt4 quicktime rdesktop readline reflection reiserfs restrict rewrite rhino rt2500pci ruby samba sasl script sdl sensord session shaper sharedext sharedmem shorten sieve simplexml sitemisc slang slp smime sndfile soap sockets socks5 softquota spamassassin speex spell spl sql sqlite sqlite3 ssl streamzap svg svgz sysfs syslog sysvipc tcl tcltk tcpd theora threads tiff tk tokenizer tools transcode truetype truetype-fonts type1 type1-fonts ucs2 unicode unzip usb utf8 v4l v4l2 vcd vda vfat vhosts visualization vnc vorbis vroot webdav wma wmf wordperfect wv wxwindows xcb xemacs xface xforms xfs xinerama xinetd xml xmlreader xmlrpc xmlwriter xorg xosd xpm xprint xrandr xscreensaver xsl xslt xv xvid xvmc yahoo zeroconf zip zlib" ALSA_CARDS="usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nv fbdev nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2007-05-10 15:54:56 UTC
apache doesn't depend on sys-libs/db; re-emerge apr and apr-util...

*** This bug has been marked as a duplicate of bug 92212 ***

*** This bug has been marked as a duplicate of bug 92212 ***
Comment 3 Jeff Mitchell 2007-05-10 15:57:57 UTC
Gah.  I should have mentioned that I did re-emerge apr.  But not apr-util.

Although I can't re-emerge apr-util:

* checking ebuild checksums ;-) ...                                                                                              [ ok ]
 * checking auxfile checksums ;-) ...                                                                                             [ ok ]
 * checking miscfile checksums ;-) ...                                                                                            [ ok ]
 * checking apr-util-0.9.12.tar.gz ;-) ...                                                                                        [ ok ]
>>> Unpacking source...
>>> Unpacking apr-util-0.9.12.tar.gz to /var/tmp/portage/dev-libs/apr-util-0.9.12/work
 * Applying apr-util-0.9.12-linking.patch ...                                                                                     [ ok ]
 * Running elibtoolize in: apr-util-0.9.12/xml/expat/conftools
 *   Applying portage-1.5.10.patch ...
 *   Applying max_cmd_len-1.5.20.patch ...
 *   Applying sed-1.5.6.patch ...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/dev-libs/apr-util-0.9.12/work/apr-util-0.9.12 ...
 * Found db version 4.5
 * Found db version 4.5
include version 4.5
 * econf: updating apr-util-0.9.12/xml/expat/conftools/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating apr-util-0.9.12/xml/expat/conftools/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating apr-util-0.9.12/build/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating apr-util-0.9.12/build/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datadir=/usr/share/apr-util-0 --with-apr=/usr --with-expat=/usr --with-ldap --with-gdbm --with-dbm=db45 --with-berkeley-db=/usr/include/db4.5:/usr/lib64 --libdir=/usr/lib64 --build=x86_64-pc-linux-gnu
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for working mkdir -p... yes
APR-util Version: 0.9.12
checking for chosen layout... apr-util
Applying apr-util hints file rules for x86_64-pc-linux-gnu
checking for APR... yes
  setting CC to "x86_64-pc-linux-gnu-gcc"
  setting CPP to "x86_64-pc-linux-gnu-gcc -E"
  adding "-pthread" to CFLAGS
  setting CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE"
checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for x86_64-pc-linux-gnu-gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for ldap support...
checking for ldap_init in -lldap50... no
checking for ldap_init in -lldapssl41... no
checking for ldap_init in -lldapssl40... no
checking for ldap_init in -lldapssl30... no
checking for ldap_init in -lldapssl20... no
checking for ldap_init in -lldap... yes
  setting APRUTIL_EXPORT_LIBS to "-lldap -llber"
  setting APRUTIL_LIBS to "-lldap -llber"
checking for ldapssl_install_routines in -lldap... no
checking for ldap_start_tls_s in -lldap... yes
checking for ber_init in -llber... yes
checking lber.h usability... yes
checking lber.h presence... yes
checking for lber.h... yes
checking for ldap.h... yes
checking ldap_ssl.h usability... no
checking ldap_ssl.h presence... no
checking for ldap_ssl.h... no
checking gdbm.h usability... yes
checking gdbm.h presence... yes
checking for gdbm.h... yes
checking for gdbm_open in -lgdbm... yes
configure: error: Berkeley DB not found.

!!! Please attach the following file when filing a report to bugs.gentoo.org:
!!! /var/tmp/portage/dev-libs/apr-util-0.9.12/work/apr-util-0.9.12/config.log

!!! ERROR: dev-libs/apr-util-0.9.12 failed.
Call stack:
  ebuild.sh, line 1614:   Called dyn_compile
  ebuild.sh, line 971:   Called qa_call 'src_compile'
  environment, line 3942:   Called src_compile
  apr-util-0.9.12.ebuild, line 50:   Called econf '--datadir=/usr/share/apr-util-0' '--with-apr=/usr' '--with-expat=/usr' '--with-ldap' '--with-gdbm' '--with-dbm=db45' '--with-berkeley-db=/usr/include/db4.5:/usr/lib64'
  ebuild.sh, line 577:   Called die

!!! econf failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/tmp/portage/dev-libs/apr-util-0.9.12/temp/build.log'.


Note that the ebuild shows that it sees 4.5, but the configure script says it's not found.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2007-05-10 16:00:03 UTC
Different issue, you need >=apr-util-0.9.12-r1 w/ db-4.5; stop mixing stable stuff w/ unstable dependencies, you are just asking for trouble.

*** This bug has been marked as a duplicate of bug 92212 ***
Comment 5 Jeff Mitchell 2007-05-10 16:46:36 UTC
Ack, my mind totally glossed over that.  The vast majority of my system is stable, with only a few handpicked ~amd64 packages where necessary...so I'm not even sure why I was using unstable db in the first place.  Thanks for the catch, sorry for the time.