This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Problems building gcc4.5.0 fortran compiler when gold is enabled
- From: Peter Elmer <Peter dot Elmer at cern dot ch>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Wed, 21 Apr 2010 20:31:16 +0200
- Subject: Problems building gcc4.5.0 fortran compiler when gold is enabled
- Keywords: CERN SpamKiller Note: -50
Hi,
I'm having some problems building gcc4.5.0 on linux/x86_64 with the fortran
compiler, graphite and gold all enabled at the same time. The build dies with
errors as in (a) below when attempting to link f951 itself (in stage 2 of the
compiler build).
The machine I'm using for the build itself is a RHEL5-derived system
(Scientific Linux 5) with gcc4.1.2 and binutils 2.17.50 on the system
itself. I however build and use binutils 2.20.1 as part of my build. Since a
number of pieces are involved in building with gcc450/graphite/gold, I've
summarized the full build procedure I'm using in a single flat recipe in (b)
below.
Does anyone recognize this problem? Is there something missing or
incorrect in my build recipe or something to be fixed in the gcc gfortran
build when gold and graphite (using ppl) are simultaneously enabled?
cheers,
Pete
(a)
/build/45go/BUILD/slc5_amd64_gcc450/external/gcc/4.5.0/gcc-4.5.0/obj/./prev-gcc/xgcc -B/build/45go/BUILD/slc5_amd64_gcc450/external/gcc/4.5.0/gcc-4.5.0/obj/./prev-gcc/ -B/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ -B/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ -B/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/lib/ -isystem /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/include -isystem /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/sys-include -g -O2 -gtoggle -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -DHAVE_CONFIG_H -o f951 \
fortran/arith.o fortran/array.o fortran/bbt.o fortran/check.o fortran/cpp.o fortran/data.o fortran/decl.o fortran/dump-parse-tree.o fortran/error.o fortran/expr.o fortran/interface.o fortran/intrinsic.o fortran/io.o fortran/iresolve.o fortran/match.o fortran/matchexp.o fortran/misc.o fortran/module.o fortran/openmp.o fortran/options.o fortran/parse.o fortran/primary.o fortran/resolve.o fortran/scanner.o fortran/simplify.o fortran/st.o fortran/symbol.o fortran/target-memory.o fortran/convert.o fortran/dependency.o fortran/f95-lang.o fortran/trans.o fortran/trans-array.o fortran/trans-common.o fortran/trans-const.o fortran/trans-decl.o fortran/trans-expr.o fortran/trans-intrinsic.o fortran/trans-io.o fortran/trans-openmp.o fortran/trans-stmt.o fortran/trans-types.o main.o libbackend.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a ../libcpp/libcpp.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a attribs.o -L/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/cloog-ppl/lib -lcloog -L/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/ppl/lib -lppl_c -lppl -lgmpxx -L/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/gmp/lib -L/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/mpfr/lib -L/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/mpc/lib -lmpc -lmpfr -lgmp -rdynamic -ldl -L../zlib -lz
/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ld: /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/ppl/lib/libppl_c.a(ppl_c_implementation_common.o): in function ppl_io_asprint_variable:ppl_c_implementation_common.cc:2004: error: undefined reference to '__cxa_begin_catch'
/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ld: /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/ppl/lib/libppl_c.a(ppl_c_implementation_common.o): in function ppl_io_asprint_variable:ppl_c_implementation_common.cc:2004: error: undefined reference to '__cxa_end_catch'
/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ld: /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/ppl/lib/libppl_c.a(ppl_c_implementation_common.o): in function ppl_io_asprint_variable:ppl_c_implementation_common.cc:2004: error: undefined reference to '__cxa_begin_catch'
/build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/x86_64-unknown-linux-gnu/bin/ld: /build/45go/slc5_amd64_gcc450/external/gcc/4.5.0/tmp/ppl/lib/libppl_c.a(ppl_c_implementation_common.o): in function ppl_io_asprint_variable:ppl_c_implementation_common.cc:2004: error: undefined reference to '__cxa_end_catch'
<... many other errors including various std:: symbols ...>
(b)
# Starting from some convenient directory in which to do a build
export MYBUILD=$PWD
mkdir $MYBUILD/install
mkdir $MYBUILD/tmp
wget ftp://ftp.fu-berlin.de/unix/gnu/gcc/gcc-4.5.0/gcc-4.5.0.tar.bz2
wget ftp://ftp.gnu.org/gnu/gmp/gmp-4.2.4.tar.bz2
wget http://www.mpfr.org/mpfr-2.3.2/mpfr-2.3.2.tar.bz2
wget http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz
wget http://www.cs.unipr.it/ppl/Download/ftp/releases/0.10.2/ppl-0.10.2.tar.bz2
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/cloog-ppl-0.15.9.tar.gz
wget http://ftp.gnu.org/gnu/bison/bison-2.4.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2
gtar xjf gcc-4.5.0.tar.bz2
gtar xjf gmp-4.2.4.tar.bz2
gtar xjf mpfr-2.3.2.tar.bz2
gtar xzf mpc-0.8.1.tar.gz
gtar xjf ppl-0.10.2.tar.bz2
gtar xzf cloog-ppl-0.15.9.tar.gz
gtar xjf bison-2.4.tar.bz2
gtar xjf binutils-2.20.1.tar.bz2
# build bison as it is missing on the system and needed for binutils
cd bison-2.4
./configure --prefix=$MYBUILD/tmp/bison > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
export PATH=$MYBUILD/tmp/bison/bin:$PATH
cd ../binutils-2.20.1
./configure --prefix=$MYBUILD/install --enable-gold > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
# Minor fixup for the install
perl -p -i -e 's|LN = ln|LN = cp -p|;s|ln ([^-])|cp -p $1|g' `find . -name Makefile`
make install > installlog.out 2>&1
# Make temporary {gmp,mpfr,mpc,ppl,cloog-ppl} builds as they are needed
# for gcc4.5 with graphite enabled.
cd ../gmp-4.2.4
./configure --prefix=$MYBUILD/tmp/gmp --disable-shared > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
cd ../mpfr-2.3.2
./configure --prefix=$MYBUILD/tmp/mpfr --with-gmp=$MYBUILD/tmp/gmp --disable-shared > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
cd ../mpc-0.8.1
./configure --prefix=$MYBUILD/tmp/mpc --with-gmp=$MYBUILD/tmp/gmp --with-mpfr=$MYBUILD/tmp/mpfr --disable-shared > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
cd ../ppl-0.10.2
./configure --prefix=$MYBUILD/tmp/ppl --disable-shared > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
cd ../cloog-ppl-0.15.9
./configure --prefix=$MYBUILD/tmp/cloog-ppl --with-ppl=$MYBUILD/tmp/ppl --with-gmp=$MYBUILD/tmp/gmp --disable-shared > configlog.out 2>&1
make -j6 > buildlog.out 2>&1
make install > installlog.out 2>&1
# Build the compiler
cd ../gcc-4.5.0
mkdir -p obj
cd obj
../configure --prefix=$MYBUILD/install --enable-languages=c,c++,fortran --with-gmp=$MYBUILD/tmp/gmp --with-mpfr=$MYBUILD/tmp/mpfr --with-mpc=$MYBUILD/tmp/mpc --with-ppl=$MYBUILD/tmp/ppl --with-cloog=$MYBUILD/tmp/cloog-ppl --enable-shared --enable-gold > configlog.out 2>&1
make -j6 bootstrap > buildlog.out 2>&1
-------------------------------------------------------------------------
Peter Elmer E-mail: Peter.Elmer@cern.ch Phone: +41 (22) 767-4644
Address: CERN Division PPE, Bat. 32 2C-14, CH-1211 Geneva 23, Switzerland
-------------------------------------------------------------------------