#19219 [NEW]: Cannot build with-informix for Apache DSO

From: Date: Tue, 03 Sep 2002 22:56:02 +0000
Subject: #19219 [NEW]: Cannot build with-informix for Apache DSO
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18340@lists.php.net to get a copy of this message
From: jerrysmith@directvinternet.com Operating system: HPUX 11.0 PHP version: 4.2.2 PHP Bug Type: Informix related Bug description: Cannot build with-informix for Apache DSO CONFIGURATION ============= Running the HP Depot Version of Apache 1.3.26 that we pre-built for HPUX11 to work with DSO. ---------------------------------- [hpserv02] ./httpd -v Server version: Apache/1.3.26 (Unix) Server built: Jun 24 2002 20:07:33 [hpserv02] ./httpd -l Compiled-in modules: http_core.c mod_so.c suexec: disabled; invalid wrapper /usr/local/apache/bin/suexec [hpserv02] ----------------------------------- BUG DESCRIPTION =============== The HPUX os shared libraries are built with the .sl suffix. I found a post on google where the fix is to simply rename the file libphp4.sl to libphp4.so. I created a script for various types of builds to automatically fix this and help identify the informix problem. Note: I can build the basic php4.2.2 by configuring with and or without mysql and it executes fine..ie.. I can run the test url <?phpinfo()?>. The informix build completes but the apache will not start. STEPS TO RECREATE PROBLEM ========================== The script I am using to correct the shared library problem is as follows: (note the different configurations I have built) # Setup Environment.. export INFORMIXDIR=/usr/informix export PATH=$PATH:$INFORMIXDIR/bin export DBPATH=/usr/informix export INFORMIXSERVER=sedb export LD_LIBRARY_PATH=/usr/lib:/opt/langtools/lib:/usr/informix/lib/esqlc:/usr/informix/lib/incl/esqlc # added these variables from a post I found on Google that reportedly worked for static build.. export "IFX_LIBS=""-L$INFORMIXDIR/lib -L$INFORMIXDIR/lib/esql""" export "IFX_INCDIR=""-L$INFORMIXDIR/incl/esql""" export "IFX_LIBDIR=""-L$INFORMIXDIR/lib -L$INFORMIXDIR/lib/esql""" # stop WebServer apachectl stop ./configure --with-apxs=/usr/informix/apache/bin/apxs --with-mysql=no --with-informix=yes #./configure --with-apxs=/usr/informix/apache/bin/apxs --with-mysql=yes #./configure --with-apxs=/usr/informix/apache/bin/apxs --with-mysql=no make make install # since HPUX shared libraries have the .sl suffix we have to rename thelibphp4 # mv libs/libphp4.sl libs/libphp4.so cp libs/libphp4.so /usr/informix/apache/lib/modules # re-execute the failed command.. apxs -S LIBEXECDIR="/usr/informix/apache/lib/modules" -i -a -n php4 libs/libphp4.so # start WebServer apachectl start ####################END OF SCRIPT########################### NOTE: As stated before, if I build a php without the informix module, all works as it should. If I build the informix configuration, the build completed, but with the following warnings: .....previous lines omitted... Making all in . /bin/sh /usr/local/src/php-4.2.2/libtool --silent --mode=link cc -I. -I/usr/local/src/php-4.2.2/ -I/usr/local/src/php-4.2.2/main -I/usr/local/src/php-4.2.2 -I/usr/local/apache/include -I/usr/local/src/php-4.2.2/Zend -I/usr/informix/incl/esql -I/usr/local/src/php-4.2.2/ext/xml/expat -DHPUX11 -DUSE_HSREGEX -DUSE_EXPAT -I/usr/local/src/php-4.2.2/TSRM -g -prefer-pic -o libphp4.la -rpath /usr/local/src/php-4.2.2/libs -avoid-version -L/usr/informix/lib -L/usr/informix/lib/esql -R /usr/informix/lib -R /usr/informix/lib/esql stub.lo Zend/libZend.la sapi/apache/libsapi.la main/libmain.la regex/libregex.la /usr/local/src/php-4.2.2/ext/ctype/libctype.la /usr/local/src/php-4.2.2/ext/informix/libinformix.la /usr/local/src/php-4.2.2/ext/pcre/libpcre.la /usr/local/src/php-4.2.2/ext/posix/libposix.la /usr/local/src/php-4.2.2/ext/session/libsession.la /usr/local/src/php-4.2.2/ext/standard/libstandard.la /usr/local/src/php-4.2.2/ext/xml/libxml.la TSRM/libtsrm.la -lpam -L/usr/informix/lib/esql -lixos -L/usr/informix/lib/esql -lixgen -L/usr/informix/lib/esql -lixsql -L/usr/informix/lib -lixasf -L/usr/informix/lib/esql -lixos -L/usr/informix/lib/esql -lixgen -L/usr/informix/lib/esql -lixgls -lnsl_s -lV3 -lcl -lsec -L/usr/informix/lib/esql -lixglx -lcrypt -lm -lnsl -lcrypt *** Warning: This library needs some functionality provided by -lV3. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This library needs some functionality provided by -lcrypt. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** Warning: This library needs some functionality provided by -lcrypt. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have. *** The inter-library dependencies that have been dropped here will be *** automatically added whenever a program is linked with this library *** or is declared to -dlopen it. Making install in . /usr/local/src/php-4.2.2/build/shtool mkdir -p "/usr/local/apache/lib/modules" && /usr/informix/apache/bin/apxs -S LIBEXECDIR="/usr/local/apache/lib/modules" -i -a -n php4 libs/libphp4.sl apxs:Error: file libs/libphp4.sl is not a DSO *** Error exit code 1 Stop. *** Error exit code 1 Stop. ########################################################## ERROR ENCOUNTERED ================= at this point my script fixes the above error and attempts to start the apache server... ###########LINES FROM SCRIPT############### # since HPUX shared libraries have the .sl suffix we have to rename thelibphp4 # mv libs/libphp4.sl libs/libphp4.so cp libs/libphp4.so /usr/informix/apache/lib/modules # re-execute the failed command.. apxs -S LIBEXECDIR="/usr/informix/apache/lib/modules" -i -a -n php4 libs/libphp4.so # start WebServer apachectl start ############################################### [activating module `php4' in /usr/local/apache/etc/httpd.conf] cp libs/libphp4.so /usr/informix/apache/lib/modules/libphp4.so chmod 755 /usr/informix/apache/lib/modules/libphp4.so cp /usr/local/apache/etc/httpd.conf /usr/local/apache/etc/httpd.conf.bak cp /usr/local/apache/etc/httpd.conf.new /usr/local/apache/etc/httpd.conf rm /usr/local/apache/etc/httpd.conf.new /usr/lib/dld.sl: Can't shl_load() a library containing Thread Local Storage: /usr/lib/libcl.2 /usr/lib/dld.sl: Exec format error Syntax error on line 236 of /usr/local/apache/etc/httpd.conf: Cannot load /usr/local/apache/lib/modules/libphp4.so into server: Exec format error /usr/informix/apache/bin/apachectl start: httpd could not be started ===============END PROBLEM DEFINITION==================== Notes: I have done some research and believe that the library in question (libcl.2 not a shared library) could be replaced with a shared one in the make file, but I don't know what library to replace it with? I have completely wiped the file structure containing the php-4.2.2 directory and re-run the entire process with no change in the results. Please help! Thanks, Jerry -- Edit bug report at http://bugs.php.net/?id=19219&edit=1 -- Try a CVS snapshot: http://bugs.php.net/fix.php?id=19219&r=trysnapshot Fixed in CVS: http://bugs.php.net/fix.php?id=19219&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=19219&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=19219&r=needtrace Try newer version: http://bugs.php.net/fix.php?id=19219&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=19219&r=support Expected behavior: http://bugs.php.net/fix.php?id=19219&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=19219&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=19219&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=19219&r=globals

« previous php.bugs (#18340) next »