[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 メーリングリストの案内