Hello PHP developers, 

I have a just written a PHP-Extension as described in the
documentation. I am using PHP 4.3.10. Configure (--with-libadwin),
compiling and linking work fine, this is what ldd shows (libadwin.so.4
is the function used by my extension):

thomasb:~/php-4.3.10 1$ ldd ./sapi/cgi/php
        libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7fa4000)
        libadwin.so.4 => /usr/local/adwin//lib/libadwin.so.4 (0xb7f79000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7f6a000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0xb7f58000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7f36000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb7f33000)
        libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7f1f000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb7dea000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)

Calling libadwin-functions does basically work from my php-extension,
but the problem is that the library constructor of libadwin is not
executed. I have never had such a problem with other programs that
were linked against that library. The constructor in the library is
defined like this:

void __attribute__ ((constructor)) my_init(void) {

My current workaround is to manually call the initialization
functions, but for customer releases I must rely on the constructor
being used.

I am not sure if the problem exists in php5 as well, but I could check
if someone is interested.

Any ideas?

Thomas

-- 
Jäger Computergesteuerte Messtechnik GmbH
Thomas Böhne
Rheinstraße 2-4
64653 Lorsch
Germany
Phone: +49-6251-9632-0

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to