Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 71148 - problems during configuration when remerging php and mod_php after upgrade of gdbm
Summary: problems during configuration when remerging php and mod_php after upgrade of...
Status: RESOLVED DUPLICATE of bug 60922
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
: 95189 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-11-14 04:55 UTC by Bernd Waibel
Modified: 2005-08-22 11:48 UTC (History)
2 users (show)

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


Attachments
config.log output of php (config.log,57.49 KB, text/plain)
2004-12-16 09:46 UTC, Bernd Waibel
Details
confdefs.h of php configuration (confdefs.h,4.61 KB, text/plain)
2004-12-16 09:46 UTC, Bernd Waibel
Details
new emerge info (emerge-info.txt,2.44 KB, text/plain)
2004-12-16 09:47 UTC, Bernd Waibel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd Waibel 2004-11-14 04:55:38 UTC
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"
Comment 1 Bernd Waibel 2004-11-14 05:03:13 UTC
Please note: The -u options in the reproduction steps are there by mistake. Use
'emerge php mod_php' without the update option instead.
Comment 2 Bernd Waibel 2004-11-14 10:00:06 UTC
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.
Comment 3 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2004-12-15 22:14:34 UTC
please set it up to fail again, and attach the config.log.
Comment 4 Bernd Waibel 2004-12-16 09:44:12 UTC
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)

Comment 5 Bernd Waibel 2004-12-16 09:46:13 UTC
Created attachment 46142 [details]
config.log output of php

Attachments as mentioned.
Comment 6 Bernd Waibel 2004-12-16 09:46:50 UTC
Created attachment 46143 [details]
confdefs.h of php configuration
Comment 7 Bernd Waibel 2004-12-16 09:47:21 UTC
Created attachment 46144 [details]
new emerge info
Comment 8 Julien Allanos (RETIRED) gentoo-dev 2005-02-08 06:16:49 UTC
i have this bug too, using gdbm-1.8.3-r1 and php-5.0.3.
Comment 9 Julien Allanos (RETIRED) gentoo-dev 2005-02-08 06:21:32 UTC
i believe -lgdbm_compat should be used instead of -lgdbm in the failing configure test.
Comment 10 Bernd Waibel 2005-02-08 08:17:46 UTC
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?
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2005-06-06 01:44:15 UTC
*** Bug 95189 has been marked as a duplicate of this bug. ***
Comment 12 Steve Yin 2005-06-06 06:58:20 UTC
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
Comment 13 Stuart Herbert (RETIRED) gentoo-dev 2005-08-22 11:48:03 UTC

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