php+ldapでリンクエラー
昨日の続き。OpenLDAPとOracleに入ってるldapのインクルードファイルがかぶってconfigureエラーがでましたがなんとか回避。ところがリンクまでいくとこんなエラーがでます。
/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf' /usr/bin/ld: note: 'ber_scanf' is defined in DSO /usr/lib64/liblber-2.4.so.2 so try adding it to the linker command line /usr/lib64/liblber-2.4.so.2: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status make: *** [sapi/cgi/php-cgi] Error 1 make: *** Waiting for unfinished jobs.... /usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_scanf' /usr/bin/ld: note: 'ber_scanf' is defined in DSO /usr/lib64/liblber-2.4.so.2 so try adding it to the linker command line /usr/lib64/liblber-2.4.so.2: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 [root@f3efea888c87 php-5.5.28]#
ber_scanfというシンボルが見えないとか。
これは単純。liblber.soに入っているシンボルなのでconfigure前にLDFLAGSでliblber.soを参照するように指定する。
# export LDFLAGS=-llber # configure (中略) --with-ldap # make -j8