[PHP-users 15517]AIXで64ビットライブラリにリンクできない

Takafumi Ono ono @ ryosen.hmw.mhi.co.jp
2003年 5月 28日 (水) 11:03:09 JST


こんにちわ。小野といいます。

環境は
AIX5.1(AIX MFC01 1 5 0059271A4C00)
php4.2.1
apache 1.3.17

で、オラクル9iをoci関数で使おうとしています。
以下のオプションでconfigureしたのですが、最後のlinkのところでoci関数がundefでエラーになります。
同様な経験者いらっしゃいませんか?
(見やすいように適当に改行いれました)

./configure --enable-i18n --with-oci8=/home/oracle/app/oracle/product/9.2.0.1.0 \
 --enable-trans-sid --enable-versioning --without-gd --with-iconv

make
:        /bin/sh /usr/local/php-4.2.1/libtool --silent --mode=link cc  -I. -I/usr/local/php-4.2.1/ 
-I/usr/local/php-4.2.1/main -I/usr/local/php-4.2.1 
-I/usr/local/php-4.2.1/Zend -I/usr/local/php-4.2.1/ext/mysql/libmysql 
-I/home/oracle/app/oracle/product/9.2.0.1.0/rdbms/public 
-I/home/oracle/app/oracle/product/9.2.0.1.0/rdbms/demo 
-I/home/oracle/app/oracle/product/9.2.0.1.0/plsql/public 
-I/usr/local/php-4.2.1/ext/xml/expat  
-I/usr/local/php-4.2.1/TSRM -g -prefer-non-pic -static   -o libphp4.la 
-rpath /usr/local/php-4.2.1/libs 
-export-symbols /usr/local/php-4.2.1/sapi/cgi/php.sym -L/home/oracle/app/oracle/product/9.2.0.1.0/lib  
-R /home/oracle/app/oracle/product/9.2.0.1.0/lib stub.lo  Zend/libZend.la  sapi/cgi/libsapi.la  
main/libmain.la  regex/libregex.la  
/usr/local/php-4.2.1/ext/ctype/libctype.la /usr/local/php-4.2.1/ext/iconv/libiconv.la 
/usr/local/php-4.2.1/ext/mysql/libmysql.la /usr/local/php-4.2.1/ext/oci8/liboci8.la 
/usr/local/php-4.2.1/ext/pcre/libpcre.la /usr/local/php-4.2.1/ext/posix/libposix.la 
/usr/local/php-4.2.1/ext/session/libsession.la /usr/local/php-4.2.1/ext/standard/libstandard.la 
/usr/local/php-4.2.1/ext/xml/libxml.la  TSRM/libtsrm.la -lpam -lperfstat -lld -lbsd_r -lodm -lm -ldl 
-liconv -lcrypt -lbind -lm -ldl -lcrypt -lclntsh -ldl

        /bin/sh /usr/local/php-4.2.1/libtool --silent --mode=link cc -I. -I/usr/local/php-4.2.1/ 
-I/usr/local/php-4.2.1/main -I/usr/local/php-4.2.1 
-I/usr/local/php-4.2.1/Zend -I/usr/local/php-4.2.1/ext/mysql/libmysql 
-I/home/oracle/app/oracle/product/9.2.0.1.0/rdbms/public 
-I/home/oracle/app/oracle/product/9.2.0.1.0/rdbms/demo 
-I/home/oracle/app/oracle/product/9.2.0.1.0/plsql/public 
-I/usr/local/php-4.2.1/ext/xml/expat  
-I/usr/local/php-4.2.1/TSRM -g   -o php -export-dynamic         stub.lo libphp4.la 

ld: 0711-317 ERROR: Undefined symbol: .OCIDescriptorAlloc
:ld: 0711-317 ERROR: Undefined symbol: .OCIInitialize
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
make: 1254-004 最後のコマンドからのエラー・コードは 8 です。


停止します。
make: 1254-004 最後のコマンドからのエラー・コードは 1 です。


オラクルのOCIのライブラリを見ると、nmでX64オプションをつけると以下のようにみえるので、
phpが64ビットでコンパイルされていないのかと思っていますが、configureにそのようなオプションがあるのでしょうか?
# ls libcl*
libclient9.a  libclntsh.a   libclntst9.a
# nm  libclntsh.a
# nm -X64  libclntsh.a | grep OCIIni
.OCIInitialize       T     4768404
OCIInitialize        D      392152      24
#

ちなみに、php-4.3.1でも同じ結果でした。


PHP-users メーリングリストの案内