From:             sean dot healey at bayernlb dot co dot uk
Operating system: Solaris 8
PHP version:      5.0.5
PHP Bug Type:     Sybase-ct (ctlib) related
Bug description:  Relocation error in libphp5.so when starting Apache2

Description:
------------
I am getting the following error when trying
to start Apache2 with the PHP plugin configured:

# ./apachectl start
Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp5.so into server: ld.so.1:
/usr/local/apache2/bin/httpd: fatal: relocation error: file
/dpkg/sybase/OCS-12_0/lib/libtcl.so: symbol comn_free: referenced symbol
not
found


When built without Sybase client library, the plugin starts up just fine.
The php module DOES appear to be linked against the correct copy of
libtcl.so - here are the without-sybase and with-sybase ldd outputs:

# ldd libphp5.so.without_sybase
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libm.so.1 =>     /usr/lib/libm.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libz.so.1 =>     /usr/lib/libz.so.1
        libxml2.so.2 =>  /usr/local/lib/libxml2.so.2
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libc.so.1 =>     /usr/lib/libc.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
        libthread.so.1 =>        /usr/lib/libthread.so.1


# ldd libphp5.so
        libtcl.so =>     /dpkg/sybase/sybase12_5/OCS-12_5/lib/libtcl.so
        libintl.so.1 =>  /usr/lib/libintl.so.1
        libcomn.so =>    /dpkg/sybase/sybase12_5/OCS-12_5/lib/libcomn.so
        libct.so =>      /dpkg/sybase/sybase12_5/OCS-12_5/lib/libct.so
        libcs.so =>      /dpkg/sybase/sybase12_5/OCS-12_5/lib/libcs.so
        libresolv.so.2 =>        /usr/lib/libresolv.so.2
        libm.so.1 =>     /usr/lib/libm.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libz.so.1 =>     /usr/lib/libz.so.1
        libxml2.so.2 =>  /usr/local/lib/libxml2.so.2
        libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
        libc.so.1 =>     /usr/lib/libc.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libpthread.so.1 =>       /usr/lib/libpthread.so.1
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        /usr/platform/SUNW,Ultra-80/lib/libc_psr.so.1
        libthread.so.1 =>        /usr/lib/libthread.so.1


I have noticed that libintl.so.1 should be picked up from the Sybase
client libs directory, but is linking from the system libs directory
instead. Can't tell if this is related.

I have tried this build both against client library vers 12.0 and 12.5
with identical results. Have noted similar bugs reported for previous
versions of PHP.

Setting LD_LIBRARY_PATH in the Apachectl script does not fix the problem.

Reproduce code:
---------------
#!/usr/bin/sh

DSQUERY=fx_dbserver2_ds
SYBASE=/dpkg/sybase/sybase12_5
SYBASE_OCS=OCS-12_5
LD_LIBRARY_PATH=$SYBASE/$SYBASE_OCS/lib:/usr/local/lib:$LD_LIBRARY_PATH

PATH=$SYBASE/$SYBASE_OCS/bin:/usr/ccs/bin:/usr/local/bin:/usr/sbin:/usr/bin

CPPFLAGS="-I$SYBASE/$SYBASE_OCS/include:/usr/local/include:/usr/include:/usr
/dt/include:/usr/openwin/include:/usr/local/include/libxml2/libxml:/usr/loca
l/include/libxml2/libxslt:/usr/local/include/libpng:/usr/local/BerkeleyDB.4.
2/include"

LDFLAGS="-L$SYBASE/$SYBASE_OCS/lib:/usr/ccs/lib:/usr/local/lib:/usr/lib:/usr
/dt/lib:/usr/openwin/lib:/usr/local/BerkeleyDB.4.2/lib:
-R$SYBASE/$SYBASE_OCS/lib:/usr/ccs/lib:/usr/local/lib:/usr/lib:/usr/dt/lib:/
usr/openwin/lib:/usr/local/BerkeleyDB.4.2/lib"

export DSQUERY SYBASE SYBASE_OCS LD_LIBRARY_PATH PATH CPPFLAGS LDFLAGS

cd php-5.0.5


./configure \
  --prefix=/usr/local/php \
  --with-apxs2=/usr/local/apache2/bin/apxs \
  --with-sybase-ct=$SYBASE/$SYBASE_OCS \
  --without-bz2 \
  --enable-sysvmsg \
  --enable-sysvsem \
  --enable-sysvshm



-- 
Edit bug report at http://bugs.php.net/?id=34904&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=34904&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=34904&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=34904&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=34904&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=34904&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=34904&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=34904&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=34904&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=34904&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=34904&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=34904&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=34904&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=34904&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=34904&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=34904&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=34904&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=34904&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=34904&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=34904&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=34904&r=mysqlcfg

Reply via email to