Re: Linking PHP with external Libtool archive.

From: Date: Thu, 08 Nov 2001 20:35:22 +0000
Subject: Re: Linking PHP with external Libtool archive.
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-69830@lists.php.net to get a copy of this message
I have now solved my problem or at least made a work-around.
To me it seems that PHP_EVAL_LIBLINE doesn't work as well as it
used to (PHP-4.0.6 / PHP-4.0.7RC3). Basically I've turned my
config.m4 so to use PHP_ADD_LIBRARY_DEFER and PHP_ADD_LIBPATH 
rather than PHP_EVAL_LIBLINE.

If I use PHP_ADD_LIBRARY instead of PHP_ADD_LIBRARY then
even configure fails. (-lyaz added but no lib path).

-- Adam

On Tue, Nov 06, 2001 at 09:22:03PM +0100, Adam Dickmeiss wrote:
> Hi,
> 
> I'm attempting to link PHP with a Libtool generated library (YAZ)
> for extension PHP/YAZ.
> 
> If I link with a STATIC YAZ libtool archive from PHP4 it
> doesn't work for me. That is latest CVS. I modified config.m4 
> and tried four combinations of library specs by modifying file
> config.m4 - (PHP_EVAL_LIBLINE) for ext/yaz:
> 
> 1.  <path>/lib/libyaz.la
> 2.  <path>/lib/.libs/libyaz.a
> 3.  -L<path>/lib -lyaz
> 4.  -L<path>/lib/.libs -lyaz
> 
> Nothing works. However, if I install YAZ (make install) it
> works. What makes Libtool so confused? I've made other
> libtool apps on top of YAZ myself using first form above
> for linking.
> 
> Case 1. and 2. compiles OK. However the YAZ library
> is not really linked in. YAZ symbols are undefined
> and Apache fails to load PHP itself.
> 
> Case 3 results in multiple symbols. Specifically
> all symbols that YAZ define. Errors go like this:
> 
> /home/adam/proj/yaz/lib/.libs/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/tmp/yaz-1.7/odr/odr_bool.c: first
> defined here
> 
> Case 4 results in linking error. Trailer goes like this:
> 
> libpcre.la ext/posix/libposix.la ext/session/libsession.la ext/standard/libstandard.la
> ext/xml/libxml.la ext/yaz/libyaz.la TSRM/libtsrm.la -ldl -lyaz -lcrypt -lresolv -lm -ldl -lnsl
> -lresolv -lcrypt
> gcc: /home/adam/proj/yaz/lib/.libs/.libs/libyaz.a: No such file or directory
> gcc: /home/adam/proj/yaz/lib/.libs/.libs/libyaz.a: No such file or directory
> make[1]: *** [libphp4.la] Error 1
> 
> Any suggestions appreciated.
> 
> I can provide more info if needed.
> 
> -- Adam
> 
> -- 
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: php-dev-unsubscribe@lists.php.net
> For additional commands, e-mail: php-dev-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net

-- 
Adam Dickmeiss  mailto:adam@indexdata.dk  http://www.indexdata.dk
Index Data      T: +45 33410100           Mob.: 212 212 66


Thread (2 messages)

« previous php.dev (#69830) next »