[PPL-devel] Graphite build fails if PPL configured with --disable-shared
janis187 at us.ibm.com
Tue May 12 22:25:36 CEST 2009
On Tue, 2009-05-12 at 18:46 +0200, Roberto Bagnara wrote:
> Janis Johnson wrote:
> > On Mon, 2009-05-11 at 13:07 -0700, Ian Lance Taylor wrote:
> >> Another Graphite build issue: it appears that I must not use
> >> --disable-shared when I configure PPL. If I do use --disable-shared, I
> >> get this:
> >> /home/iant/gnu/ppl-0.10.2-install/lib/libppl_c.a(ppl_c_implementation_common.o): In function `finalize':
> >> /home/iant/gnu/ppl-0.10.2/interfaces/C/../../src/ppl.hh:1842: undefined reference to `operator delete(void*)'
> >> followed by thousands of similar errors. This is unfortunate, as it
> >> means that I must manually set LD_LIBRARY_PATH to the directory where
> >> the PPL library is installed. This also makes it harder for anybody
> >> else to run the compiler that I build. This needs to be fixed.
> > I get around this by setting LDFLAGS for the ppl configure:
I was wrong, I use these flags for other reasons.
> > LDFLAGS="-static" \
> > ./configure \
> > --prefix=$PREFIX \
> > --build=powerpc-linux \
> > --with-gnu-ld \
> > --with-libgmp-prefix=$PREFIX \
> > --with-libgmpxx-prefix=$PREFIX \
> > --disable-shared
> I am not sure I understand: we trust that Libtool, which provides us
> with the --disable-shared option, will do the right thing. And it
> seems it does here: the static library is built and passes its checks.
The --disable-shared option worked as expected. What I had problems
with was finding my static versions of libgmp and libgmpxx; configure
kept finding the default shared versions, which were too old, until
I added LDFLAGS="-static" before ./configure, and passed
LDFLAGS="-all-static" to make and make check. I had assumed that by
specifying their locations, configure and make would be able to use
those particular libraries.
> Perhaps you want something different from what --disable-shared promises,
> that is, not to build any shared libraries?
> > I copy libstdc++.a into the directory with the other GCC host
> > libraries (gmp/mpfr/ppl/cloog/mpc).
> > Building these libraries is indeed quite painful.
> Any suggestion about how to improve the PPL is welcome. This, of course,
> applies also to the build machinery.
> All the best,
One small change would be to use --with-gmp as a configure option.
It's not clear whether it's necessary to use both --with-libgmp-prefix
and --with-libgmpxx-prefix. Other packages that GCC needs (MPFR,
CLoog, MPC) use --with-gmp for the GMP package.
More information about the PPL-devel