5

Linux Mint を使用しています - LDAP をサポートする php をコンパイルできません

構成は言う:

checking for LDAP Cyrus SASL support... yes
configure: error: Cannot find ldap libraries in /usr/lib.

しかし、すべての -dev ライブラリがインストールされているようです:

 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

壊れるのはこれが初めてではなく、ライブラリの新しい奇妙な場所や新しい特別なパッケージなどで毎回壊れます... 今回のことを知っている人はいますか? これは php 5.4.7 です。

ありがとう、

4

1 に答える 1

5

信じられないかもしれませんが、configure は /usr/lib/i386-linux-gnu の下にある ldap.so を見つけられません。

だから私はそれらのリンクを作りました:(liblberはlibldapの友達です)

cd /usr/lib
ln -s i386-linux-gnu/libldap.so
ln -s i386-linux-gnu/liblber.so

そして構成は成功します。悪いことは、「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

これは PHP のバグのようです。過去に PHP 開発者によって修正されたようなバグをいくつか見たことがあります。

于 2012-10-01T12:25:57.900 に答える