On Thu, Jun 04, 2015 at 02:10:33PM +0100, Steve Hay wrote:
> On 4 June 2015 at 12:58, Andy Dougherty <
doug...@lafayette.edu> wrote:
> > On Thu, Jun 04, 2015 at 11:43:32AM +0200, H.Merijn Brand wrote:
> >> On Thu, 4 Jun 2015 09:17:31 +0100, Steve Hay
> >> <
steve...@googlemail.com> wrote:
> >>
> >> > Attempts to build mod_perl with some versions of perl (5.18.4, 5.22.0)
> >> > on some OSes (Debian/wheezy, FreeBSD 9.2) have generated linker errors
> >> > like this:
> >> >
> >> > /usr/bin/ld: /opt/perl-5.18.4/lib/5.18.4/x86_64-linux/CORE/libperl.a(op.o):
> >> > relocation R_X86_64_32S against `PL_sv_yes' can not be used when
> >> > making a shared object; recompile with -fPIC
> >> > /opt/perl-5.18.4/lib/5.18.4/x86_64-linux/CORE/libperl.a: could not
> >> > read symbols: Bad value
[. . . ]
> So assuming that the perls in question (having the mod_perl build
> problems) have been built with -Duseshrplib, what does mod_perl, or
> the person trying to build mod_perl, need to do with regard to the
> -fPIC flag to get the build to work?
I don't think that's a correct assumption. Note that they are trying to link
against /opt/perl-5.18.4/.../libperl.a. If they had built with -Duseshprlib,
that library wouldn't exist, and they would be linking against libperl.so.
> I'm not clear whether this is something that mod_perl needs to address
> (e.g. in its Makefile.PL), or if there is some action that the user
> needs to take to build mod_perl with such a perl.
I think the user needs to rebuild perl with -Duseshrplib.
--
Andy Dougherty
doug...@lafayette.edu