After an upgrade of gdbm from rel. 1.8.0-r5 to rel. 1.8.3-r1 I have problems remerging php and mod_php. I have php-5.0.2-r1 and mod_php-5.0.2 installed using /etc/portage/package.keywords. The problem is during configuration of dbm extension. When dba is in USE flags, the configuration will stop with the following error, both for php and mod_php: checking for dbminit in -ldbm... no checking for dbminit in -lc... no checking for dbminit in -lgdbm... no configure: error: DBA: Could not find necessary library. If I remove dba from USE flags, the ebuild stop with an error stating, that dba is needed when berkdb USE flag is in use. I didn't try to compile by removing berkdb from USE flags, because I need berkdb/gdbm support and I do not know if php/mod_php will use berkdb/gdbm support if configure finds it, but it is not in USE flags. I first tried to remerge them using the method stated in the gdbm ebuild, i.e. using revdep-rebuild --soname libgdbm.so.2. revdev-rebuild wanted to remerge the following packages in this order: app-office/openoffice-1.1.3 dev-php/php-5.0.2-r1 net-www/apache-2.0.52-r1 dev-php/mod_php-5.0.2 media-sound/muine-0.6.3 This morning I realized the failure in the php package. I then tried to manually remerge it, but with the same result. I too tried to remerge mod_php but with the same result. I then synced portage, hoped some solutions may be available, but after sync the problems stay, and no other rel. of gdbm is available too. BTW the openoffice build succeeded without problems. Reproducible: Always Steps to Reproduce: 1. update gdbm to ensure you have gdbm-1.8.3-r1 installed (latest stable rel.) 2. revdev-rebuild --soname libgdbm.so.2 3. alternatively emerge -u php mod_php or emerge -u mod_php php Actual Results: The compilation of php/mod_php stopped at the configuration stage with the above described error. Expected Results: configure should find the new gdbm include files and libraries, use them and rebuild of php/mod_php should succeed with the new libs. Gentoo Base System version 1.4.16 Portage 2.0.51-r3 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 Headers: sys-kernel/linux26-headers-2.6.8.1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O3 -fforce-addr -mfpmath=sse -mmmx -msse -msse2 -Wall" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O3 -fforce-addr -mfpmath=sse -mmmx -msse -msse2 -Wall" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache collision-protect distlocks fixpackages nostrip sandbox userpriv usersandbox" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.gentoo.mesh-solutions.com/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/mnt/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage-de" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X Xaw3d aalib accessibility acl acpi aim alsa apache2 arts audiofile avi bcmath bdf berkdb bindist bitmap-fonts bonobo bzlib caps cdr cjk crypt cscope ctype cups curl curlwrappers dbase dbx dedicated dga directfb divx4linux doc dvd dvdr emacs encode esd ethereal evo exif f77 fam fbcon fdftk fftw flac flash foomaticdb fortran ftp gb gd gdbm ggi gif ginac gmp gnome gnomedb gnutls gpm gps gstreamer gtk gtk2 gtkhtml guile iconv icq imagemagick imlib jabber jack java jikes joystick jpeg junit kde ladcca lcms libgda libwww mad maildir mcal mhash mikmod mime ming mmap mmx mmx2 mng motif mozilla mpeg mpi msn mysql nas ncurses netcdf nls nptl odbc offensive oggvorbis openal opengl oscar oss pam pcntl pcre pdflib perl pic pie plotutils png posix ppds pwdb python qhull qt quicktime readline samba sdl session shared slang slp soap sockets speex spell sqlite sse ssl svg svga sysvipc tcltk tcpd tetex theora threads tiff truetype unicode usb videos wddx wmf wxwindows x86 xine xml xml2 xmlrpc xmms xosd xpm xprint xsl xv xvid yahoo zlib"
Please note: The -u options in the reproduction steps are there by mistake. Use 'emerge php mod_php' without the update option instead.
I tried to remerge the two packages again. When using USE="-berkdb -dba -flatfile -gdbm -inifile" the configuration, and the compilation too, succeeded. The other use flags all depend on the dba use flag.
please set it up to fail again, and attach the config.log.
hello, i tried to emerge again, i create attachments for the config.log and confdefs.h files. These were my useflags used to emerge: gwenhwyfar php-5.0.2 # emerge -pv mod_php These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] dev-php/php-5.0.2-r1 -adabas +bcmath +berkdb -birdstep +bzlib -calendar -cdb -cpdflib +crypt +ctype +curl +curlwrappers -db2 +dba +dbase +dbm -dbmaker +dbx -debug +dio -empress -empress-bcs -esoob +exif +fam -fdftk -filepro +flatfile -frontbase -ftp +gd -gd-external +gdbm +gmp -hyperwave-api +iconv -imap -informix -ingres +inifile -interbase -iodbc +jpeg -kerberos -ldap -libedit -mcve +memlimit +mhash +mime +ming -mnogosearch -msession -msql +mssql +mysql -mysqli +ncurses -nis +nls -oci8 +odbc -oracle7 -ovrimos +pcntl +pcre -pfpro +png -posix -postgres -qdbm +readline -recode -sapdb -sasl +session +shared +sharedmem +simplexml -snmp +soap +sockets -solid +spell +spl +sqlite +ssl -sybase -sybase-ct +sysvipc +tidy +tiff +tokenizer +truetype +wddx +xml2 +xmlrpc +xpm +xsl +zlib 0 kB [ebuild N ] dev-php/mod_php-5.0.2 -adabas +apache2 +bcmath +berkdb -birdstep +bzlib -calendar -cdb -cpdflib +crypt +ctype +curl +curlwrappers -db2 +dba +dbase +dbm -dbmaker +dbx -debug +dio -empress -empress-bcs -esoob +exif +fam -fdftk -filepro +flatfile -frontbase -ftp +gd -gd-external +gdbm +gmp -hyperwave-api +iconv -imap -informix -ingres +inifile -interbase -iodbc +jpeg -kerberos -ldap -libedit -mcve +memlimit +mhash +mime +ming -mnogosearch -msession -msql +mssql +mysql -mysqli +ncurses -nis +nls -oci8 +odbc -oracle7 -ovrimos +pcntl +pcre -pfpro +png -posix -postgres -qdbm +readline -recode -sapdb -sasl +session +shared +sharedmem +simplexml -snmp +soap +sockets -solid +spell +spl +sqlite +ssl -sybase -sybase-ct +sysvipc +tidy +tiff +tokenizer +truetype +wddx +xml2 +xmlrpc +xpm +xsl +zlib 0 kB Note that my emerge info has changed much since the first post. I create an attachment for my current emerge info. The parts in config.log which might be of interest: configure:25109: checking for dbminit in -lgdbm configure:25128: gcc -o conftest -march=pentium4 -O2 -fforce-addr -mfpmath=sse - mmmx -msse -msse2 -pipe -L/usr/lib -ldb-4.1 conftest.c -lgdbm -lresolv -lm -l dl -lnsl -lxml2 -lz -lm 1>&5 /mnt/tmp/portage/php-5.0.2-r1/temp/cciulDE5.o(.text+0xa): In function `main': : undefined reference to `dbminit' collect2: ld returned 1 exit status configure: failed program was: #line 25117 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char dbminit(); int main() { dbminit() ; return 0; } In /usr/include/gdbm.h there is no function dbminit() declared. Instead there is one declared in /usr/include/gdbm/dbm.h. Hope this will help in any way. Some data which might be of interest: gwenhwyfar php-5.0.2 # equery list gdbm [ Searching for package 'gdbm' in all categories among: ] * installed packages [I--] [ ] sys-libs/gdbm-1.8.3-r1 (0) and gwenhwyfar php-5.0.2 # equery list db [ Searching for package 'db' in all categories among: ] * installed packages [I--] [ ] sys-libs/db-1.85-r1 (1) [I--] [ ] sys-libs/db-4.1.25_p1-r4 (4.1)
Created attachment 46142 [details] config.log output of php Attachments as mentioned.
Created attachment 46143 [details] confdefs.h of php configuration
Created attachment 46144 [details] new emerge info
i have this bug too, using gdbm-1.8.3-r1 and php-5.0.3.
i believe -lgdbm_compat should be used instead of -lgdbm in the failing configure test.
Why not test for another function in libgdbm, like gdbm_open(), instead of using compatibility libraries? Don't know anything of the php internals, so this might not working at all. Please excuse, if that's the case. Is the /usr/include/gdbm.h file for the new release and the /usr/include/gdbm/*.h for the compatibility lib? Do I understand this right?
*** Bug 95189 has been marked as a duplicate of this bug. ***
gdbm need some modify, first, you need to add --with-dbm and --with-ndbm to gdbm's configure flags. then you need to add -lgdbm to Makefile.in at line 164 then strange thing, make a symbol link from /usr/lib/libgdbm_compat.so to /usr/local/lib/libdbm.so and After these mod, you can use the dba flag with php
*** This bug has been marked as a duplicate of 60922 ***