php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #14975 Build/libtool will not use static libraries
Submitted: 2002-01-10 14:30 UTC Modified: 2002-03-01 20:12 UTC
Votes:2
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: djm at mcmahons dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.1.1 OS: RedHat Linux 6.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: djm at mcmahons dot com
New email:
PHP Version: OS:

 

 [2002-01-10 14:30 UTC] djm at mcmahons dot com
There seems to have been a change in libtool between 4.0.6 and 4.1.x (this is happening in both 4.1.x releases so far).
I compile in ldap, but remove the shared objects to be sure that it uses the static (.a) library.  Up until 4.0.6 this worked.  Now I get "libldap.so: No such file or directory"
errors.  ldap is not the only one.  There are several external libraries that I also remove the shared objects to force it to link with static (.a) libs.  All of these report the same problem when I build php with them.  

For whatever reason it WANTS to use libldap.so despite the existence of libldap.a.

The Ldap example:

$./configure \
 --with-apxs=/usr1/apache/bin/apxs \
 --with-ldap=shared,/usr1/openldap-2.0.18

$ make
.
.
.
/bin/sh /usr1/php-4.1.1/libtool --silent --mode=link gcc  -I. -I/usr1/php-4.1.1/ext/ldap -I/usr1/php-4.1.1/main -I/usr1/php-4.1.1 -I/usr1/tempinstall/apache/include -I/usr1/php-4.1.1/Zend -I/usr1/openldap-2.0.18/include -I/usr1/php-4.1.1/ext/mysql/libmysql -I/usr1/php-4.1.1/ext/xml/expat  -DLINUX=22 -DMOD_SSL=208105 -D USE_HSREGEX -DEAPI -DEAPI_MM -DUSE_EXPAT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS
=64 -I/usr1/php-4.1.1/TSRM -O6 -mpentiumpro -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -prefer-pic   -o ldap.la -avoid-version -module -rpath /usr1/php-4.1.1/modules  ldap.lo  -R/usr1/openldap-2.0.18/lib -L/usr1/openldap-2.0.18/lib -lldap -
R/usr1/openldap-2.0.18/lib -L/usr1/openldap-2.0.18/lib -llber
gcc: /usr1/openldap-2.0.18/lib/.libs/libldap.so: No such file or directory
gcc: /usr1/openldap-2.0.18/lib/.libs/liblber.so: No such file or directory
make[3]: *** [ldap.la] Error 1
make[3]: Leaving directory `/usr1/php-4.1.1/ext/ldap'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/usr1/php-4.1.1/ext/ldap'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr1/php-4.1.1/ext'
make: *** [all-recursive] Error 1
$

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-03-01 20:12 UTC] djm at mcmahons dot com
This is not a bug, but rather a more strict way that the newer libtool seems to track down and use libraries.  I had some loose libraries and .la files hanging around in different directories (/usr/lib + my local build space) which caused this problem.  Removing the offending files fixed the problem.  This only occurs in PHP 4.1.x.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu May 08 01:01:27 2025 UTC