Re: [squid-users] relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Fri, 04 Oct 2013 03:18:53 +1300

On 4/10/2013 2:46 a.m., Niki Gorchilov wrote:
> I'm trying to compile 3.4.0.1 on Ubuntu 12.04 LTS I get the following errors:

Please try the 3.4.0.2 package which has just been bundled.
(NP: I dont think it will solve this particular issue, but there were
other big issues in 3.4.0.1 which are now resolved)

> /usr/bin/ld: /z/src/squid-3.4.0.1/compat/libcompat-squid.a(eui64_aton.o):
> relocation R_X86_64_32 against `.rodata' can not be used when making a
> shared object; recompile with -fPIC
> /z/src/squid-3.4.0.1/compat/libcompat-squid.a: could not read symbols: Bad value
>
> ./configure shows the following lines:
> ...
> checking for gcc option to produce PIC... -fPIC -DPIC
> checking if gcc PIC flag -fPIC -DPIC works... yes
> ....
> checking for g++ option to produce PIC... -fPIC -DPIC
> checking if g++ PIC flag -fPIC -DPIC works... yes
>
> And yes, most of the files are compiled with -fPIC option, but not the
> compat/ directory:

Does it build past this error if you run this command before ./configure ?
   sed --in-place s/_LIBRARIES/_LTLIBRARIES/ compat/Makefile.in

Amos
Received on Thu Oct 03 2013 - 14:19:02 MDT

This archive was generated by hypermail 2.2.0 : Thu Oct 03 2013 - 12:00:06 MDT