I also upgraded Libtool of PHP. Result the same :( $ ./libtool --version ltmain.sh (GNU libtool) 1.4.2a (1.922.2.79 2001/11/28 21:50:31)
I'm using apxs: $ ./configure --with-yaz --with-apxs=/home/adam/proj/apache/bin/apxs -- Adam On Fri, Dec 14, 2001 at 05:55:02PM +0100, Adam Dickmeiss wrote: > I have the following problem. On UNIX, PHP fails to link with > a static library generated by Libtool. Problem occurs with PHP 4.1.0 > but not PHP 4.0.6. The YAZ extension, for example, which I maintain > generates by default a static Libtool library only. So After doing > cd yaz-1.8.3 > ./configure --prefix=/usr > make > make install > > two files are created, namely /usr/lib/libyaz.a and /lib/lib/libyaz.la. > > For PHP I do : > ./configure --with-yaz [other options] > > and get the folloing make output: > .. > /bin/sh ../libtool --silent --mode=link gcc -g -O2 -prefer-pic -o libZend.la -ldl >-lyaz -lcrypt -lresolv -lm -ldl -lnsl -lresolv > -lcrypt zend_language_parser.lo zend_language_scanner.lo zend_ini_parser.lo >zend_ini_scanner.lo zend_alloc.lo zend_compile.lo zend_c > onstants.lo zend_dynamic_array.lo zend_execute.lo zend_execute_API.lo >zend_highlight.lo zend_llist.lo zend_opcode.lo zend_operators.l > o zend_ptr_stack.lo zend_stack.lo zend_variables.lo zend.lo zend_API.lo >zend_extensions.lo zend_hash.lo zend_list.lo zend_indent.lo z > end_builtin_functions.lo zend_sprintf.lo zend_ini.lo > make[1]: Leaving directory `/home/adam/proj/php-4.1.0/Zend' > ... > /bin/sh /home/adam/proj/php-4.1.0/libtool --silent --mode=link gcc -I. >-I/home/adam/proj/php-4.1.0/ -I/home/adam/proj/php-4.1.0/main > -I/home/adam/proj/php-4.1.0 -I/home/adam/proj/apache/include >-I/home/adam/proj/php-4.1.0/Zend -I/home/adam/proj/php-4.1.0/ext/mysql/ > libmysql -I/home/adam/proj/php-4.1.0/ext/xml/expat -DLINUX=22 -DUSE_HSREGEX >-DUSE_EXPAT -I/home/adam/proj/php-4.1.0/TSRM -g -O2 -pre > fer-pic -o libphp4.la -rpath /home/adam/proj/php-4.1.0/libs -avoid-version >stub.lo Zend/libZend.la sapi/apache/libsapi.la main/l > ibmain.la regex/libregex.la ext/mysql/libmysql.la ext/pcre/libpcre.la >ext/posix/libposix.la ext/session/libsession.la ext/standard/li > bstandard.la ext/xml/libxml.la ext/yaz/libyaz.la TSRM/libtsrm.la -ldl -lyaz -lcrypt >-lresolv -lm -ldl -lnsl -lresolv -lcrypt > /usr/lib/libyaz.a(odr_bool.o): In function `odr_bool': > /home/adam/proj/yaz/odr/odr_bool.c(.text+0x0): multiple definition of `odr_bool' > Zend/.libs/libZend.al(odr_bool.o)(.text+0x0):/home/adam/proj/yaz/odr/odr_bool.c: >first defined here > /usr/lib/libyaz.a(ber_bool.o): In function `ber_boolean': > [many more multiple symbols] > > The log indicates that all YAZ symbols are included twice. Apparenly the > Zend link step includes YAZ verbatim even though NO symbols should be needed > to built that. > > Solutions / work-arounds: > > 1) removing /usr/lib/libyaz.la makes it work. Suddenly, the Zend link step > doesn't include YAZ so everything is fine. Libtool bug? > > 2) removing the linkage of yaz from the Zend link step obviously makes it > work too. > > 3) build shared YAZ objects is a fix too. (./configure --enabled-shared for YAZ). > > The problem doesn't occur with PHP 4.0.6. Probably due to the fact that > it uses libtool 1.3.5. > > The problem currently only exists with YAZ (I guess most other packages > are shared objects ONLY). But it would really be convenient if extensions > could use static libraries as well. > > If this is a libtool bug and there's no easy fix for that, my suggestion would be > that Zend doesn't link with YAZ or other extension libraries. Fix 2) above. > > -- Adam > > -- > Adam Dickmeiss mailto:[EMAIL PROTECTED] http://www.indexdata.dk > Index Data T: +45 33410100 Mob.: 212 212 66 > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] -- Adam Dickmeiss mailto:[EMAIL PROTECTED] http://www.indexdata.dk Index Data T: +45 33410100 Mob.: 212 212 66 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]