IDS/Apache/PHP Rocket Science
Posted in 2000
Topics: Installation, Setup & Upgrades, Versions, Editions & End-of-Life
We're having problems trying to configure Apache/PHP to work with our IDS 7.31.UC2. We have downloaded Apache 1.3.12 and PHP 3.0.16 and have (we believe) followed all the instructions to install and configure the above. Upon running "apachectl configtest" we get the following message returned :- Syntax error on line 237 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/libexec/libphp3.so into server: dynamic linker: /usr/local/apache/bin/httpd: relocation error: symbol not found: usleep File libphp3.so DOES exist in /usr/local/apache/libexec as follows :- -rwxr-xr-x 1 root sys 4013460 May 18 16:11 libphp3.so (Extract from /usr/local/apache/conf/httpd.conf) [snipped] 234 LoadModule usertrack_module libexec/mod_usertrack.so 235 LoadModule unique_id_module libexec/mod_unique_id.so 236 LoadModule setenvif_module libexec/mod_setenvif.so 237 LoadModule php3_module libexec/libphp3.so 238 239 # Reconstruction of the complete module list from all available modules 240 # (static and shared ones) to achieve correct module execution order. 241 # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO] 242 ClearModuleList 243 AddModule mod_vhost_alias.c 244 AddModule mod_env.c [snipped] 272 AddModule mod_so.c 273 AddModule mod_setenvif.c 274 AddModule mod_php3.c 275 276 # Any help would, as ever, be much appreciated. As the subject suggests we do not believe this to be rocket science, but we are currently having trouble even finding the fuse. Once found, we'll hunt around for the matches. Informix Dynamic Server 7.31.UC2 SCO OpenServer 5.0.4 Apache 1.3.12 PHP 3.0.16 -- "Just a waffer thin mint?" Sent via Deja.com http://www.deja.com/ Before you buy.
Mister Creosote wrote: > We're having problems trying to configure Apache/PHP to work with our > IDS 7.31.UC2. We have downloaded Apache 1.3.12 and PHP 3.0.16 and have > (we believe) followed all the instructions to install and configure the > above. Upon running "apachectl configtest" we get the following message > returned :- > > Syntax error on line 237 of /usr/local/apache/conf/httpd.conf: > Cannot load /usr/local/apache/libexec/libphp3.so into server: dynamic > linker: /usr/local/apache/bin/httpd: relocation error: symbol not > found: usleep > > File libphp3.so DOES exist in /usr/local/apache/libexec as follows :- > -rwxr-xr-x 1 root sys 4013460 May 18 16:11 libphp3.so > > (Extract from /usr/local/apache/conf/httpd.conf) > [snipped] > 234 LoadModule usertrack_module libexec/mod_usertrack.so > 235 LoadModule unique_id_module libexec/mod_unique_id.so > 236 LoadModule setenvif_module libexec/mod_setenvif.so > 237 LoadModule php3_module libexec/libphp3.so > 238 > 239 # Reconstruction of the complete module list from all > available modules > 240 # (static and shared ones) to achieve correct module execution > order. > 241 # [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE > THIS, TOO] > 242 ClearModuleList > 243 AddModule mod_vhost_alias.c > 244 AddModule mod_env.c > [snipped] > 272 AddModule mod_so.c > 273 AddModule mod_setenvif.c > 274 AddModule mod_php3.c > 275 > 276 # > > Any help would, as ever, be much appreciated. As the subject suggests > we do not believe this to be rocket science, but we are currently > having trouble even finding the fuse. Once found, we'll hunt around for > the matches. > > Informix Dynamic Server 7.31.UC2 > SCO OpenServer 5.0.4 > Apache 1.3.12 > PHP 3.0.16 Can you compile and run the following C one-liner: int main(){ usleep(1000000); return(0); } If you can, then some standard library has the micro-sleep function (system call) in it. You'll need to analyse which library that is (I'd use ldd on Solaris, but I don't know that it is standard on other platforms), and see whether it If you can't run the test program, then 99% of your problem is that something thought that usleep() was available and it isn't. You probably need to analyse which module is using it (probably the most recently added), and work out whether it is a configuration item (check the autoconfigure logs). If it is, then either the configuration was done badly or a library is missing or something else went wrong. The first step then would be a trial rebuild of the whole lot. If usleep isn't a configuration item, then you've got a bug to report to someone, and you'll need to find or write code to do the configuration and work out what the alternatives are. POSIX.1:1996 defines a nanosleep(), IIRC; you might be able to use that: void usleep(long n) { nanosleep(n * 1000); } The other distinct possibility is that you need to set LD_LIBRARY_PATH differently for the Apache server. Don't forget that it is apt to reset the environment to an absolute minimum. Check out SetEnv and PassEnv directives. If you can find usleep in a non-standard library, that might be your trouble. -- Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net) Guardian of DBD::Informix v1.00.PC1 -- see http://www.perl.com/CPAN #include <disclaimer.h>
In article <392A8212.F615DFDB@earthlink.net>, Jonathan Leffler <jleffler@earthlink.net> wrote: > Mister Creosote wrote: > > > We're having problems trying to configure Apache/PHP to work with our > > IDS 7.31.UC2. We have downloaded Apache 1.3.12 and PHP 3.0.16 and have [snipped] > Can you compile and run the following C one-liner: > > int main(){ usleep(1000000); return(0); } > > If you can, then some standard library has the micro-sleep function > (system call) in it. You'll need to analyse which library that is > (I'd use ldd on Solaris, but I don't know that it is standard on other > platforms), and see whether it [snipped] Jonathan Many thanks for the reply. Unfortunately the sentence above was incomplete. I have compiled the one-liner successfully. However, when using ldd to interrogate the apache libraries we are getting the following returned :- ldd: bad magic number in: libphp3.so Confused ? We certainly are. Having successfully compiled the above one- liner what should we try next ? Sorry to be a pain, but I am in "user emulation mode" at the moment. TIA Mr Creosote -- "Just a waffer thin mint?" Sent via Deja.com http://www.deja.com/ Before you buy.
Mister Creosote wrote: > In article <392A8212.F615DFDB@earthlink.net>, > Jonathan Leffler <jleffler@earthlink.net> wrote: > > Mister Creosote wrote: > > > > > We're having problems trying to configure Apache/PHP to work with > our > > > IDS 7.31.UC2. We have downloaded Apache 1.3.12 and PHP 3.0.16 and > have > [snipped] > > > Can you compile and run the following C one-liner: > > > > int main(){ usleep(1000000); return(0); } > > > > If you can, then some standard library has the micro-sleep function > > (system call) in it. You'll need to analyse which library that is > > (I'd use ldd on Solaris, but I don't know that it is standard on other > > platforms), and see whether it ...sorry... You'll need to find out which library it's in (start with /lib/libc.so -- it's the most likely location). If it's there, then I'm not exactly sure what it all means. If it isn't, then you do need to track it down fully, and check to see whether ldd is listing that library. Or words to that general effect. > [snipped] > > Jonathan > > Many thanks for the reply. Unfortunately the sentence above was > incomplete. I have compiled the one-liner successfully. However, when > using ldd to interrogate the apache libraries we are getting the > following returned :- > > ldd: bad magic number in: libphp3.so That's worrying. I'd start by re-removing libphp3.so an re-rebuilding until I worked out why that error. I'd also check for stray instances of libphp3.so in LD_LIBRARY_PATH.. > Confused ? We certainly are. Having successfully compiled the above one- > liner what should we try next ? Sorry to be a pain, but I am in "user > emulation mode" at the moment. I suppose the next stop would be an upgrade to PHP 4.0, though I don't know that would fix anything. -- Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net) Guardian of DBD::Informix v1.00.PC1 -- see http://www.perl.com/CPAN #include <disclaimer.h>