You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by erich oliphant <ol...@hotmail.com> on 2000/08/30 19:54:58 UTC

Problems loading POSIX module

Hi,
I have a script that bombs under modperl when it tries to 'use POSIX'.  I 
get the same message when I try to preload it in the httpd.conf.  Here's the 
error:
--
[Tue Aug 29 15:59:21 2000] [error] Can't load 
'/usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so' for module 
POSIX: ld.so.1: httpd: fatal: relocation error: file 
/usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so: 
symbolPL_stack_sp: referenced symbol not found at 
/usr/local/lib/perl5/5.6.0/sun4-solaris/XSLoader.pm line 73.  at 
/usr/local/lib/perl5/5.6.0/sun4-solaris/POSIX.pm line 24 Compilation failed 
in require at /dts/env/TRAVEL/app/dts/web/cgi-bin/webspeed.pl line 76. BEGIN 
failed--compilation aborted at 
/dts/env/TRAVEL/app/dts/web/cgi-bin/webspeed.pl line 76.
--
The script runs fine from the command line.
There are two versions of perl on the box 5.6 and 5.0005.  5.6 is first in 
the path on the command line (checked via perl -v and whereis).  I examined 
the perl-status page for mod_perl (Perl Configuration and Loaded Modules). 
They indicate that it's using 5.6 , the @INC paths have 5.6 stuff listed 
first, and all of the loaded modules are coming out of the 5.6 directory.

I am only using CGI and POSIX.  Since CGI was preloaded, I tried some 
arbitrary unloaded modules (Math::Trig, etc.) and they ran fine.

Any ideas?
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.

Share information about yourself, create your own public profile at 
http://profiles.msn.com.


Re: Problems loading POSIX module

Posted by Matt Sergeant <ma...@sergeant.org>.
On Wed, 30 Aug 2000, erich oliphant wrote:

> Hi,
> I have a script that bombs under modperl when it tries to 'use POSIX'.  I 
> get the same message when I try to preload it in the httpd.conf.  Here's the 
> error:
> --
> [Tue Aug 29 15:59:21 2000] [error] Can't load 
> '/usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so' for module 
> POSIX: ld.so.1: httpd: fatal: relocation error: file 
> /usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so: 
> symbolPL_stack_sp: referenced symbol not found at 
> /usr/local/lib/perl5/5.6.0/sun4-solaris/XSLoader.pm line 73.  at 
> /usr/local/lib/perl5/5.6.0/sun4-solaris/POSIX.pm line 24 Compilation failed 
> in require at /dts/env/TRAVEL/app/dts/web/cgi-bin/webspeed.pl line 76. BEGIN 
> failed--compilation aborted at 
> /dts/env/TRAVEL/app/dts/web/cgi-bin/webspeed.pl line 76.
> --
> The script runs fine from the command line.
> There are two versions of perl on the box 5.6 and 5.0005.  5.6 is first in 
> the path on the command line (checked via perl -v and whereis).  I examined 
> the perl-status page for mod_perl (Perl Configuration and Loaded Modules). 
> They indicate that it's using 5.6 , the @INC paths have 5.6 stuff listed 
> first, and all of the loaded modules are coming out of the 5.6 directory.
> 
> I am only using CGI and POSIX.  Since CGI was preloaded, I tried some 
> arbitrary unloaded modules (Math::Trig, etc.) and they ran fine.
> 
> Any ideas?

Could a POSIX.so already be loaded somehow?

-- 
<Matt/>

Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org


Re: Problems loading POSIX module

Posted by Doug MacEachern <do...@covalent.net>.
On Wed, 30 Aug 2000, erich oliphant wrote:

> Hi,
> I have a script that bombs under modperl when it tries to 'use POSIX'.  I 
> get the same message when I try to preload it in the httpd.conf.  Here's the 
> error:
> --
> [Tue Aug 29 15:59:21 2000] [error] Can't load 
> '/usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so' for module 
> POSIX: ld.so.1: httpd: fatal: relocation error: file 
> /usr/local/lib/perl5/5.6.0/sun4-solaris/auto/POSIX/POSIX.so: 
> symbolPL_stack_sp: referenced symbol not found at 

can you post the output of the script below, run like so:

% perl perlnm.pl stack_sp POSIX

and your 'perl -V' too.

use Config;

my $sym = shift;
my @modules;

for (@ARGV) {
    my $so;
    for my $path (@INC) {
        if (-e ($so = "$path/auto/$_/$_.so")) {
            push @modules, $so;
            last;
        }
    }
}

for ("$Config{archlibexp}/CORE/libperl.a",
     "$Config{archlibexp}/CORE/libperl.so",
     $Config{perlpath},
     @modules)
  {
      next unless -e $_;
      my $cmd = "nm $_ | grep $sym";
      print "$cmd\n";
      system $cmd;
  }