|
Boost-Build : |
From: David Abrahams (dave_at_[hidden])
Date: 2008-08-29 00:36:09
on Thu Aug 28 2008, Vladimir Prus <ghost-AT-cs.msu.su> wrote:
> On Thursday 28 August 2008 01:00:40 Juergen Hunold wrote:
>> On Wednesday 27 August 2008 21:53:53 David Abrahams wrote:
>> > Hi,
>> >
>> > I've been trying to run the Boost 1.35.0 tests with GCC on Suse Linux
>> > Enterprise Server 10/AMD64, and there are some failures that indicate we
>> > got something wrong somewhere.
>>
>> Wow. Thats old ;-))
>>
>> > /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld
>> >: /zorak/sles/build/boost/bin.v2/libs/statechart/test/gcc-4.1.0/release/
>> > link-static/LibTestNormalLibTuTest.o:
>> > relocation R_X86_64_32 against `a local symbol' can not be used when
>> > making a shared object; recompile with -fPIC
>> >
>> > I assume that there's something wrong with what Boost.Build is doing
>> > here, but I'm at a loss as to how it might be fixed.
>>
>> Well, x86_64 gcc targets sometimes requires -fPIC even for static builds.
>
> Rather, shared objects must be fully PIC, embedding some
> non-PIC code (say from a static library) into a shared library is not OK.
> So one solution is to build everything with -fPIC; but it won't help with
> linking to system expat, although the changeset that Dave mentioned:
>
> http://svn.boost.org/trac/boost/changeset/47719
>
> should fix that.
Unfortunately, I'm having the same problem building the MPI library and
there's nothing obvious that's being linked into it statically, so I
can't find a similar change that will solve my problem.
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk