From: David Abrahams (dave_at_[hidden])
Date: 2008-08-29 10:17:57
on Fri Aug 29 2008, Juergen Hunold <juergen.hunold-AT-ivembh.de> wrote:
> Hi Dave !
> On Friday 29 August 2008 06:36:09 David Abrahams wrote:
>> on Thu Aug 28 2008, Vladimir Prus <ghost-AT-cs.msu.su> wrote:
>> > 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.
> Volodya is right, of course. _All_ shared libraries must be compiled with -
> fPIC for x86_64. Thats the core of it.
>> 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.
> I had similar problems with SuSE 10.2 (and some with 10.3). This seems to be
> due to the fact the vendor MPI libraries are compiled without -fPIC. In 10.2
> (or 10.1) even expat has been compiled without -fPIC, leaving the BGL graph
> readers unavailable.
In SLES-10, expat seems to work as long as I request the dynamic version
using the indicated patch. So you think they built expat with -fPIC but
mpich++ without it?
> I'm now running 11.0 at work and it seems they finally got it right this time.
> If you want to use MPI on an older SuSE, I fear you might have to compile it
> yourself :-((
-- 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