I had some problems like this on my new x86_64 machine with mod_perl2, seems that not only perl must be compiled with -fPIC , also apache and all libraries or modules you plan to use. I think it's a general issue with this architecture, not mod_perl related.
If not, there are runtime linking relocation errors everywhere.. (I also had to recompile with -fPIC db and libz, for example)
Maybe that's the problem...

El dv 29 de 04 del 2005 a les 23:25 -0700, en/na Stas Bekman va escriure:
Tom Caldwell wrote:
> Stas,
> 
> I forgot to mention that apache usually runs under a different account
> than nobody (I use - apache), in case that matters.

Of course. In which case you need to check 'apache' instead of 'nobody'.

> Also, I apologize for not cc'ing the list on the last message but I
> normally use the mail client from my desktop machine instead of this
> Ximian client on red hat and I am not used to the client not doing the
> cc for me.

No worries.

 > Yes, I noticed that nobody was having trouble finding libperl.so, but it
 > seemed very strange that none of the other tests failed.
 >
 > Anyway, I tried to
 > su - nobody
 > which failed because the shell was set to /sbin/nologin.

su - apache

 > So I fixed that (set shell to bash) and set the .bashrc file to set the
 > LD_LIBRARY_PATH to
 > /opt/perl/lib/5.8.6/x86_64-linux/CORE:/opt/apache2/server/lib/:/usr/lib64
 > so it can find libperl.so
 > /opt/perl/bin/perl -V then ran correctly from the nobody account.
 >
 > Then I reran the tests and got the same failures here is the test report
 > (see below).
 >
 > Also, I was able to run the 4 scripts in t/htdocs/util - argv.pl
 > env.pl  in_err.pl  in_out.pl
 >
 > They seemed to work fine except env.pl did not print anything.
 >
 > Thanks for looking into this,
 >
 > Tom
 >
 > P.S. Here is the other info you asked for.
 >
 > First line of t/TEST is
 > #!/opt/perl/bin/perl
 >
 > ldd /opt/perl/bin/perl
 >         libperl.so => /opt/perl/lib/5.8.6/x86_64-linux/CORE/libperl.so
 > (0x0000002a9566d000)

is it possible that this path it not readable by user 'apache'? I doubt 
so, since all other tests run just fine.

what if you change one of these scripts (.e.g. t/htdocs/argv.pl) to be:

#!/bin/sh

printenv > /tmp/dump
ldd /opt/perl/bin/perl >> /tmp/dump

and run the subprocess test? This will show what the environment this 
subprocess script is running under.

Reply via email to