Bug #5418 Updated: Bug in detection of dbm causes conflict with Sybase dbopen()
| From: | joey@php.net | Date: | Mon, 14 May 2001 16:45:19 +0000 |
| Subject: | Bug #5418 Updated: Bug in detection of dbm causes conflict with Sybase dbopen() | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-55194@lists.php.net to get a copy of this message | ||
ID: 5418
Updated by: joey
Reported By: dean.bennett@home.com
Status: Feedback
Bug Type: Sybase (dblib) related
Operating system:
PHP Version: 4.0.1pl2
Assigned To:
Comments:
There are 2 seperate bugs here:
1) The configure issue (IE, order of 'db' libs) and
2) The conflict with Sybase's dbopen().
The second may have been solved (IIUC)by /ext/sybase/php_sybase_db.c 1.14.
This was committed right after 4.0.5,
so it should be in snaps and in 4.0.6.
I think Dan has a suggestion on #1 that he said
he would forward on to you. Please let us know
if either (or both) of these solve this one, Dean.
Previous Comments:
---------------------------------------------------------------------------
[2001-05-14 12:37:52] kalowsky@php.net
attempted at a patch, sent to user. awaiting a response.
---------------------------------------------------------------------------
[2000-07-28 11:24:36] waldschrott@php.net
checking out
---------------------------------------------------------------------------
[2000-07-27 23:59:19] dean.bennett@home.com
Yes it is.
The fix would be to change the order of the AC_CHECK_LIB's in ext/db/config.m4. I think that
the order should be gdbm, c, dbm, db.
As someone else reported, there is also no way to disable linking against dbm.
---------------------------------------------------------------------------
[2000-07-27 22:13:15] waldschrott@php.net
Please verify that it´s still happening using the latest version from CVS or snaps.php.net.
---------------------------------------------------------------------------
[2000-07-06 22:31:28] dean.bennett@home.com
The configure script checks for dbm by linking a conftest.c program with a dbm_open call against
-lgdbm, then -ldb, then -lc and finally -ldbm.
On Digital Unix, the link succeeds against -ldb, because there is a /usr/lib/libdb.a, but dbm_open
is really in libc (and also in libdbm.a) and not in libdb.
This causes a problem when you try to build --with-sybase, as the sybase dbopen() function is
superceeded by the dbopen() in libdb.a. The -ldb is before -lsybdb in the link command.
Configure should not be picking -ldb as the DBM_LIB value, as that is not the location of dbm_open.
If I install gdbm, it works fine, as it checks for that library first.
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments,
please view the bug report online.
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=5418&edit=2