You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Dan Axtell <da...@snet.net> on 2008/09/01 04:55:42 UTC

mod_perl compilation problem

I'm still trying to figure out how to build mod_perl on an AMD x86_64 system.  
It's running gcc 4.1.1 on Red Hat 4.1.1-52.  Perl 5.8.8 + Apache + mod_perl is 
already installed, but I wanted to try and build everything with 5.10 because 
I've read that the RedHat Perl binaries are sometimes very slow, and I want to 
check out some of the Perl 5.10 features on a new server.

I'm building Perl with these options:
Configure -de -Dprefix=/usr/local -Accflags="-fPIC"

Perl builds, tests, and seems to run fine.

When I make mod_perl, I get this error:

/usr/bin/ld: /usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): 
relocation R_X86_64_32 against `a local symbol' can not be used when making a 
shared object; recompile with -fPIC
/usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a: could not read 
symbols: Bad value
collect2: ld returned 1 exit status

If I'm building Perl explicity with -fPIC, why does mod_perl think I'm not?

I suppose I can live with 5.8.8, but there should be a way to build this.

Dan

Re: mod_perl compilation problem

Posted by Eb...@partner.bmw.de.
>Dan Axtell wrote:
>> I'm still trying to figure out how to build mod_perl on an 
>AMD x86_64 system.  
>> It's running gcc 4.1.1 on Red Hat 4.1.1-52.  Perl 5.8.8 + 
>Apache + mod_perl is 
>> already installed, but I wanted to try and build everything 
>with 5.10 because 
>> I've read that the RedHat Perl binaries are sometimes very 
>slow, and I want to 
>> check out some of the Perl 5.10 features on a new server.
>> 
>> I'm building Perl with these options:
>> Configure -de -Dprefix=/usr/local -Accflags="-fPIC"
>> 
>> Perl builds, tests, and seems to run fine.
>> 
>> When I make mod_perl, I get this error:
>> 
>> /usr/bin/ld: 
>/usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): 
>> relocation R_X86_64_32 against `a local symbol' can not be 
>used when making a 
>> shared object; recompile with -fPIC
>> /usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a: 
>could not read 
>> symbols: Bad value
>> collect2: ld returned 1 exit status
>> 
>> If I'm building Perl explicity with -fPIC, why does mod_perl 
>think I'm not?
>
>Did you remove all previous perl build fragments that may have been 
>compiled without -fPIC?  That is, can you try a clean install with a 
>prefix like /home/myuser/testperl, and then try to build mod_perl 
>against that perl installation?
>
>I haven't tried 5.10 on x86_64 yet.
>
>> 
>> I suppose I can live with 5.8.8, but there should be a way 
>to build this.
>> 
>> Dan
>
>


I tried mod_perl on SLES 10 AMD64 worked perfectly with Perl 5.10 - but
with the compile options for Perl you specified earlier (-fPIC). What
Fred is writing looks like the best solution to me.

Re: mod_perl compilation problem

Posted by Dan Axtell <da...@snet.net>.
> Did you remove all previous perl build fragments that may have been
> compiled without -fPIC?  That is, can you try a clean install with a
> prefix like /home/myuser/testperl, and then try to build mod_perl
> against that perl installation?
>
I'll try that next.

Question:  my home box is opensuse 11.0 and it comes with perl 5.10 + mod_perl 
for and AMD x86_64.  Can I just upload the mod_perl.so binary, or will small 
differences like the perl binary being in different locations stop it from 
working?

Re: mod_perl compilation problem

Posted by Fred Moyer <fr...@redhotpenguin.com>.
Dan Axtell wrote:
> I'm still trying to figure out how to build mod_perl on an AMD x86_64 system.  
> It's running gcc 4.1.1 on Red Hat 4.1.1-52.  Perl 5.8.8 + Apache + mod_perl is 
> already installed, but I wanted to try and build everything with 5.10 because 
> I've read that the RedHat Perl binaries are sometimes very slow, and I want to 
> check out some of the Perl 5.10 features on a new server.
> 
> I'm building Perl with these options:
> Configure -de -Dprefix=/usr/local -Accflags="-fPIC"
> 
> Perl builds, tests, and seems to run fine.
> 
> When I make mod_perl, I get this error:
> 
> /usr/bin/ld: /usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): 
> relocation R_X86_64_32 against `a local symbol' can not be used when making a 
> shared object; recompile with -fPIC
> /usr/local/lib/perl5/5.10.0/x86_64-linux/CORE/libperl.a: could not read 
> symbols: Bad value
> collect2: ld returned 1 exit status
> 
> If I'm building Perl explicity with -fPIC, why does mod_perl think I'm not?

Did you remove all previous perl build fragments that may have been 
compiled without -fPIC?  That is, can you try a clean install with a 
prefix like /home/myuser/testperl, and then try to build mod_perl 
against that perl installation?

I haven't tried 5.10 on x86_64 yet.

> 
> I suppose I can live with 5.8.8, but there should be a way to build this.
> 
> Dan