
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.
Janis