使用ldap编译php
我在LinuxMint上-我不能用LDAP支持编译php 他说:使用ldap编译php,php,ldap,linux-mint,Php,Ldap,Linux Mint,我在LinuxMint上-我不能用LDAP支持编译php 他说: checking for LDAP Cyrus SASL support... yes configure: error: Cannot find ldap libraries in /usr/lib. 但似乎安装了every-dev libs: dpkg -l *ldap* | grep ii ii ldap-utils 2.4.28-1.1ubuntu
checking for LDAP Cyrus SASL support... yes
configure: error: Cannot find ldap libraries in /usr/lib.
但似乎安装了every-dev libs:
dpkg -l *ldap* | grep ii
ii ldap-utils 2.4.28-1.1ubuntu4.1 OpenLDAP utilities
ii ldaptor-utils 0.0.43+debian1-6ubuntu1 command-line LDAP utilities
ii libaprutil1-ldap 1.3.12+dfsg-3 Apache Portable Runtime Utility Library - LDAP Driver
ii libkldap4 4:4.8.5-0ubuntu0.1 library for accessing LDAP
ii libldap-2.4-2 2.4.28-1.1ubuntu4.1 OpenLDAP libraries
ii libldap2-dev 2.4.28-1.1ubuntu4.1 OpenLDAP development libraries
ii libnet-ldap-perl 1:0.4300-2ubuntu1 client interface to LDAP servers
ii libsasl2-modules-ldap 2.1.25.dfsg1-3ubuntu0.1 Cyrus SASL - pluggable authentication modules (LDAP)
ii php5-ldap 5.3.10-1ubuntu3.4 LDAP module for php5
ii python-ldaptor 0.0.43+debian1-6ubuntu1 pure-Python library for LDAP operations
这已经不是第一次了,每次都会有一些新的奇怪的libs位置或者一些新的特殊包,或者其他什么。。。这次你们有人发现了吗?这是PHP5.4.7
谢谢,信不信由你,configure无法找到/usr/lib/i386 linux gnu下的ldap.so 所以我做了这些链接:(liblber是libldap的朋友) 配置成功。坏消息是“制造”不起作用,因为:
/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup@@OPENLDAP_2.4_2'
/usr/bin/ld: note: 'ber_strdup@@OPENLDAP_2.4_2' is defined in DSO /usr/lib/i386-linux-gnu/liblber-2.4.so.2 so try adding it to the linker command line
/usr/lib/i386-linux-gnu/liblber-2.4.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Erreur 1
这似乎是PHP中的一个bug-我见过PHP开发人员在过去修复过的一些bug。请提供所需库的完整路径名,并与它的需求进行比较,以防有所不同,放置一个符号链接或指定with开关。我遇到了同样的问题,直到我还将liblber-2.4.so.2文件进行了符号链接,它才自行解决。我遇到了同样的问题。将
libldap.so
、liblber.so
和liblber-2.4.so.2
链接到/usr/lib
,然后执行make clean
并重新运行/configure
和make
为我修复它。非常感谢。
/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup@@OPENLDAP_2.4_2'
/usr/bin/ld: note: 'ber_strdup@@OPENLDAP_2.4_2' is defined in DSO /usr/lib/i386-linux-gnu/liblber-2.4.so.2 so try adding it to the linker command line
/usr/lib/i386-linux-gnu/liblber-2.4.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Erreur 1