mod_perl compilation problem

mod_perl compilation problem

am 01.09.2008 04:55:42 von Dan Axtell

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

am 01.09.2008 05:28:29 von Fred Moyer

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

Re: mod_perl compilation problem

am 01.09.2008 15:30:20 von Dan Axtell

> 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

am 02.09.2008 09:37:07 von Ebner.EJ.Johannes

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