mod_perl compilation problem - modperl

This is a discussion on mod_perl compilation problem - modperl ; 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 ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: mod_perl compilation problem

  1. 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


  2. Re: mod_perl compilation problem

    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



  3. Re: mod_perl compilation problem

    > 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?


  4. Re: mod_perl compilation problem


    >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.


+ Reply to Thread