php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #49876 configure fails --with-ldap Cannot find ldap libraries in /usr/lib
Submitted: 2009-10-14 14:59 UTC Modified: 2009-10-19 13:42 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: graham dot simpson at hsbcib dot com Assigned:
Status: Closed Package: Compile Failure
PHP Version: 5.3.0 OS: SuSE Linux 10 SP 2 x86_64
Private report: No CVE-ID: None
 [2009-10-14 14:59 UTC] graham dot simpson at hsbcib dot com
Description:
------------
64bit SuSE 10.2 with openldap2-2.3, openldap2-devel-2.3 installed.
Configure --with-ldap fails with:
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... no
configure: error: Cannot find ldap libraries in /usr/lib.
-
rpm -q -l openldap2-devel
/usr/include/lber.h
/usr/include/lber_types.h
/usr/include/ldap.h
/usr/include/ldap_cdefs.h
/usr/include/ldap_features.h
/usr/include/ldap_schema.h
/usr/include/ldap_utf8.h
/usr/include/slapi-plugin.h
/usr/lib64/liblber.a
/usr/lib64/liblber.so
/usr/lib64/libldap.a
/usr/lib64/libldap.so
/usr/lib64/libldap_r.a
/usr/lib64/libldap_r.so
-
Should be looking in /usr/lib64. Which is odd because my LD_LIBRARY_PATH contains /usr/lib64.
-
Altering --with-ldap to --with-ldap=/usr or /usr/lib64, then complains about not finding the ldap.h, viz:
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... no
configure: error: Cannot find ldap.h
-
The problem seems to be the configure script find ldap.h in /usr/include/ldap.h, so sets LDAP_LIBDIR=/usr/lib (line 52114), later it looks for /usr/lib/liblber.a instead of /usr/lib64/liblber.a.
-
Maybe I've got that wrong. The weird thing is I know other directives in my configure are picking up stuff from /usr/lib64.
-
Thanks for any help you can give.
GSi



Patches

Add a Patch

Pull Requests

Pull requests:

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2009-10-14 15:05 UTC] graham dot simpson at hsbcib dot com
Sorry, meant to post my configure line also...
CFLAGS="-DSYB_LP64" ./configure  --prefix=${TDIR}/php-5.3.0 --with-ldap --enable-libgcc --with-oci8 --with-pdo-oci --with-sybase-ct=${SYBASE}/${SYBASE_OCS} --with-pdo-dblib=${TDIR}/freetds-0.82 --with-curl --enable-pcntl --with-gettext --with-mcrypt --enable-soap --with-pear --with-zlib --disable-cgi --with-readline --with-bz2 --with-apxs2=${TDIR}/httpd-2.2.13/bin/apxs --with-libxml-dir=${TDIR}/libxml2-2.7.5 --with-xsl=${TDIR}/libxslt-1.1.26 --with-openssl=${TDIR}/openssl-0.9.8k
 [2009-10-19 11:14 UTC] jani@php.net
Your configure line is missing this: --with-libdir=lib64
 [2009-10-19 13:16 UTC] graham dot simpson at hsbcib dot com
Firstly, many thanks for picking this up.
-
The rest of my PHP configuration relies on libs in /usr/lib64 and that works. I didn't use --with-libdir=lib64 because my LD_LIBRARY_PATH and SHLIB_PATH include /usr/lib64 and are set to:

/opt/sybase/Connect64forODBC60/lib:/opt/sybase/httpd-2.2.13/lib:/opt/sybase/libxslt-1.1.26/lib:/opt/sybase/libxml2-2.7.5/lib:/opt/sybase/freetds-0.82/lib:/opt/sybase/openssl-0.9.8k/lib:/opt/sybase/DBA_SDK1500-16721/DataAccess/ODBC/lib:/opt/sybase/DBA_SDK1500-16721/OCS-15_0/lib:/opt/sybase/DBA_SDK1500-16721/OCS-15_0/lib3p:/usr/lib64:/lib64:/usr/X11R6/lib64:/opt/gnome/lib64:/usr/local/lib64:/usr/X11R6/lib/X11/locale/lib64:/usr/X11R6/lib64:/var/lib/stunnel/lib64:/u01/sq/ora_1/oracle/client/11.2.0/lib:/usr/lib64:/usr/lib:/home/db2inst/sqllib/lib64:/home/db2inst/sqllib/lib32

The problem with setting --with-libdir=lib64 is that not all software that I'm linking against has libs in lib64, some are just in lib.
 [2009-10-19 13:42 UTC] graham dot simpson at hsbcib dot com
Okay, found all the software where only lib exists and created a suitable link to lib from lib64. Specifiying the --with-libdir=lib64, now means that it compiles with the --with-ldap. Thanks for the help.
 [2011-03-01 23:58 UTC] nessunoero at libero dot it
useful howto
http://wiki.lepr-e.com/wiki/index.php/Ubuntu_Smtp_Server
 [2011-11-21 09:28 UTC] yunosh@php.net
I would like to bring this up again, considering to re-open this ticket. The LDAP extension seems to be the only extension that does *not* find the header file and libraries on 64bit distros by default, i.e. without explicitly specifying the library path. This is still true for all 5.3 versions and even 5.4.0RC1.
 [2011-11-21 09:49 UTC] yunosh@php.net
Nevermind, looks like libldap seems to be the only library used for building PHP that installs into /usr/lib/x86_64-linux-gnu and does *not* provide a ldap-config script or similar to determine the actual library path, like libcurl does for example.
 [2014-02-11 08:06 UTC] vbvbrj at gmail dot com
I have to same bug with compile --with-ldap on Debian x64. LDAP libraries resides in /urs/lib/x86_64-linux-gnu . I don't want to use --with-libdir, as it breaks other paths to libs for other packages, ie --with-mysql=/opt/mysql, --with-opensll=/opt/openssl

The cnfigure script must be updated to handle this path for LDAP.
For meantime a workaround:

git checkout master;
./buildconf --force;
sed -i -e 's~^\([[:space:]]*\)\(if test -f \$LDAP_LIBDIR/liblber\.a || test -f \$LDAP_LIBDIR/liblber\.\$SHLIB_SUFFIX_NAME; then\)$~\1if test -f \$LDAP_LIBDIR/x86_64-linux-gnu/liblber\.a || test -f \$LDAP_LIBDIR/x86_64-linux-gnu/liblber\.\$SHLIB_SUFFIX_NAME; then\n\1  LDAP_LIBDIR=$LDAP_LIBDIR/x86_64-linux-gnu\n\1fi\n\n\1\2~' configure;
./configure --prefix=/opt/php --with-ldap
 [2015-04-26 15:09 UTC] 6822089 at qq dot com
注意:开始我用--with-ldap安装编译的时候一直报错
configure: error: Cannot find ldap libraries in /usr/lib. 或者configure: error: Cannot find ldap.h
而经过检查openldap-devel都是安装的,当时因为一直没解决我就先放弃了ldap.
后面想还是尝试一下ldap扩展,于是源包目录,安装过程是成功的。
cd /opt/soft/php-5.6.8/ext/ldap
  /data/php/bin/phpize
 ./configure  --with-php-config=/data/php/bin/php-config  --with-ldap  --with-libdir=lib64 
主要是--with-libdir=lib64
 [2016-01-26 16:19 UTC] keaton dot paul dot victor at gmail dot com
I found this useful, see last comment to solve issue of:

configure: error: Cannot find ldap.h
-
 [2017-09-13 22:09 UTC] dzuelke at gmail dot com
Anyone want to try my PR at https://github.com/php/php-src/pull/2754 ?
 [2018-02-08 09:43 UTC] krakjoe@php.net
Automatic comment on behalf of dzuelke@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=8000334538c53090067246fea9411701cae8c6d5
Log: Fixed bug #49876 lib path on 64bit distros
 [2018-02-08 09:43 UTC] krakjoe@php.net
-Status: Not a bug +Status: Closed
 
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Wed Nov 21 18:01:27 2018 UTC