ID: 22595
User updated by: web at affenkrieger dot de
Reported By: web at affenkrieger dot de
Status: Open
Bug Type: Sybase-ct (ctlib) related
Operating System: Mandrake Linux 9.0
PHP Version: 4.2.3
New Comment:
Ah, i forgot to make clear that the PHP extension should be linked
against $SYBASE/lib/libintl.so and not against that one in /lib, which
has unfortunately the same name.
Previous Comments:
------------------------------------------------------------------------
[2003-03-07 16:40:00] web at affenkrieger dot de
Hi,
i tried to compile and use the Sybase-CT extension of PHP, but it won't
work. Here we go:
I have a Mandrake Linux 9.0 system with a fully configured Apache + PHP
webserver. PHP 4.2.3 works fine as a Apache module. I downloaded the
sources of PHP 4.2.3 from php.net and compiled the Sybase-CT extension
as a shared object:
$ ./configure --with-apxs=/path/to/apxs
--with-sybase-ct=shared,/opt/sybase-11.9.2
The Sybase ASE 11.9.2 resides in /opt/sybase-11.9.2, the libs are
available under /opt/sybase-11.9.2/lib
Compilation works fine, but when i include the new .so in the PHP.ini
and restart the Apache webserver, it throws this warning into the
error_log:
> PHP Warning: Unable to load dynamic library
> '/usr/lib/php/extensions/sybase_ct.so' -
> /opt/sybase-11.9.2/lib/libsybtcl.so: undefined symbol:
> comn_free in Unknown on line 0
Trying to use Sybase functions in PHP result in segmentation faults.
$ ldd sybase_ct.so
libinsck.so => /opt/sybase-11.9.2/lib/libinsck.so (0x40008000)
libsybtcl.so => /opt/sybase-11.9.2/lib/libsybtcl.so (0x4000b000)
libintl.so.2 => /lib/libintl.so.2 (0x40038000)
^^^^^^^^^^^^^^^^
libcomn.so => /opt/sybase-11.9.2/lib/libcomn.so (0x40040000)
libct.so => /opt/sybase-11.9.2/lib/libct.so (0x40098000)
libcs.so => /opt/sybase-11.9.2/lib/libcs.so (0x400f5000)
libc.so.6 => /lib/i686/libc.so.6 (0x40102000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
It seems that the sybase_ct.so has been linked to a wrong library in
/lib, instead of $SYBASE/lib, and i found no way to tell the system, to
use the Sybase one.
/usr/lib/libintl.so & /lib/libintl.so.2 are symlinks to
/lib/libintl.so.2.0.1
It seems to be a lib of the "gettext" program.
Yes, $SYBASE/lib is added to /etc/ld.so.conf
Yes, the Sybase lib are correctly listed by 'ldconfig -p'
No, setting LD_LIBRARY_PATH doesn't affect the result of ldd
No, normally LD_LIBRARY_PATH isn't set at all.
DBD::Sybase works fine with Sybase ASE. Micheal Peppler wrote in
sybase.public.ase.linux (news:[EMAIL PROTECTED]) that
it might be a PHP compilation problem, and he knows a bit of that
Sybase stuff ;-)
Regards,
Nils.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22595&edit=1