#26157 [Bgs->Opn]: checking for db2 major version fails

From: Date: Fri, 07 Nov 2003 03:33:28 +0000
Subject: #26157 [Bgs->Opn]: checking for db2 major version fails
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-50109@lists.php.net to get a copy of this message
 ID:               26157
 User updated by:  mills at cc dot umanitoba dot ca
 Reported By:      mills at cc dot umanitoba dot ca
-Status:           Bogus
+Status:           Open
 Bug Type:         *Configuration Issues
 Operating System: Solaris sparc
 PHP Version:      4.3.4
 New Comment:

It's not a header problem.  It's a library problem.
The linker could not find the db_appinit symbol because
the -L path for the library was to the left of the
source file on the command line.  Moving it to the
right fixed it.


Previous Comments:
------------------------------------------------------------------------

[2003-11-06 22:09:27] iliaa@php.net

Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system
is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.

The problem is the result of a header conflict on your end.

------------------------------------------------------------------------

[2003-11-06 19:52:16] mills at cc dot umanitoba dot ca

Description:
------------
While configuring php with this script:

#!/bin/sh

env CC=cc \
	./configure \
	--disable-short-tags \
	--with-gettext \
	--with-xml \
	--with-db2=/usr/local/src/db/db-2.4.14/Unix \
	--with-apxs=/usr/local/apache/sbin/apxs \
	--with-ldap=/usr/local/src/ldap/openldap-1.2.11 \
	--with-imap=/usr/local/src/c-client/imap-2000a \
	--with-mysql=/usr/local/src/mysql/mysql-3.23.33

Configure fails with this error:

checking for Berkeley DB4 support... no
checking for Berkeley DB3 support... no
checking for db2 major version... configure: error: Header contains
different version

The configure log says:

configure:23751: cc -o conftest -g  -D_POSIX_PTHREAD_SEMANTICS
-L/usr/local/src/db/db-2.4.14/Unix/lib -ldb  -R/usr/ucblib
-L/usr/ucblib conftest.c -lresolv -lm -ldl -lnsl -lsocket  1>&5
"/usr/local/src/db/db-2.4.14/Unix/include/db.h", line 62: warning:
typedef redeclared: int16_t
"/usr/local/src/db/db-2.4.14/Unix/include/db.h", line 64: warning:
typedef redeclared: int32_t
Undefined			first referenced
 symbol  			    in file
db_appinit                          conftest.o
ld: fatal: Symbol referencing errors. No output written to conftest

This was caused by an ordering error.  Here's my fix:

$ diff Oconfigure configure
1872c1872
< ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS
conftest.$ac_ext $LIBS 1>&5'
---
> ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS
conftest.$ac_ext $LDFLAGS $LIBS 1>&5'





------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=26157&edit=1


Thread (6 messages)

« previous php.bugs (#50109) next »