|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-08-29 12:10:06
On Friday 29 August 2008 18:17:57 David Abrahams wrote:
>
> 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 don't think both packages are maintained by the same person, so they very
well might have different compile options.
- Volodya
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