On Sun, 2009-03-29 at 00:48 +0000, Joseph S. Myers wrote:
> On Sat, 28 Mar 2009, David Edelsohn wrote:
>
> > > If you're able to compile and install GCC on a system then my experience
> > > is that configuring and installing GMP and MPFR from .tar.gz is hassle
> > > free (you must use --disable-shared on both) and does not take very long
> > > relative to GCC bootstrap. On the GCC Compile Farm if you look
> > > at it GMP and MPFR in /opt/cfarm are not compiled by root :).
> >
> > Graphite needs shared libgmpxx to avoid linking cc1 with libstdc++.
>
> I added the --with-host-libstdcxx configure option specifically so you can
> link with static copies of GMP, MPFR, PPL, CLooG and with either a shared
> or a static copy of libstdc++.
I tested the following build process:
export ROOT=/some/where
gmp-4.2.4
./configure --prefix=$ROOT/gmp-4.2.4 --disable-shared --enable-cxx
mpfr-2.3.1
./configure --prefix=$ROOT/mpfr-2.3.1 --disable-shared
--with-gmp=$ROOT/gmp-4.2.4
ppl-0.10
./configure --prefix=$ROOT/ppl-0.10 --disable-shared --with-gmp=$ROOT/gmp-4.2.4
cloog-ppl
./configure --prefix=$ROOT/cloog-ppl-1.5 --disable-shared
--with-gmp=$ROOT/gmp-4.2.4 --with-ppl=$ROOT/ppl-0.10
trunk
../trunk/configure --prefix=$ROOT/trunk --enable-languages=c,ada
--enable-__cxa_atexit --enable-threads=posix \
--with-gmp=$ROOT/gmp-4.2.4 --with-mpfr=$ROOT/mpfr-2.3.1
--with-ppl=$ROOT/ppl-0.10 \
--with-cloog=$ROOT/cloog-ppl-1.5 --with-host-libstdcxx=-lstdc++
However it fails during stage2:
make[3]: Entering directory `/home/guerby/build-ppl/gcc'
...
/home/guerby/build-ppl/./prev-gcc/xgcc -B/home/guerby/build-ppl/./prev-gcc/
-B/n/17/guerby/install-trunk-ppl/x86_64-unknown-linux-gnu/bin/ -g -O2 -DIN_GCC
-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common
-DHAVE_CONFIG_H -o cc1-dummy c-lang.o stub-objc.o attribs.o c-errors.o
c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o
c-opts.o c-format.o c-semantics.o c-ppoutput.o c-cppbuiltin.o c-objc-common.o
c-dump.o c-pch.o c-parser.o i386-c.o c-gimplify.o tree-mudflap.o
c-pretty-print.o c-omp.o dummy-checksum.o \
main.o tree-browser.o libbackend.a ../libcpp/libcpp.a
../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a -L/home/guerby/root/cloog-ppl-1.5/lib -lcloog
-L/home/guerby/root/ppl-0.10/lib -lppl_c -lppl -lgmpxx -lstdc++
-L/home/guerby/root/gmp-4.2.4/lib -L/home/guerby/root/mpfr-2.3.1/lib -lmpfr
-lgmp
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make[3]: *** [cc1-dummy] Error 1
make[3]: Leaving directory `/home/guerby/build-ppl/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/guerby/build-ppl'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/guerby/build-ppl'
make: *** [bootstrap] Error 2
What am I missing?
Thanks in advance,
Laurent