This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
gcc-4.2.2 on Solaris2.9 - build fails - needs 32-bit gmp/mpfr
- From: "Poor Yorick" <org dot gnu dot gcc dot help at pooryorick dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 02 May 2008 22:31:06 +0000
- Subject: gcc-4.2.2 on Solaris2.9 - build fails - needs 32-bit gmp/mpfr
- Reply-to: "Poor Yorick" <org dot gnu dot gcc dot help at pooryorick dot com>
I am trying to build gcc-4.2.2 for sparc-sun-solaris2.9, but the build seems to
require 32-bit gmp and mpfr in addition to 64-bit gmp and mpfr. I have built
these 32-bit dependencies, but have already used the "--with-gmp" and
"--with-mpfr" to point to the 64-bit libraries. Questions: Is it true that a
native bootstrap build of gcc-4.2.2 this on this platform will require both 32
and 64-bit gmp and mpfr? If so, how can I specify these additional locations?
I have tried setting "--with-gmp" to the 32-bit location and "--with-mpfr" to
the 64-bit location. Perhaps this would have worked, except that at points
where f951 gets invoked, it can not find its dependencies because
LD_LIBRARY_PATH gets stripped out of its calling environment. I keep wishing I
could get RUNPATHs embedded to avoid this problem.
I did succeed in building gcc-4.2.2 on this host (notes on this forthcoming),
but only by employing a nasty hack which forced every compiled binary to
64-bit:
GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -m64 -B./
-B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem
$(build_tooldir)/sys-include -L$(objdir)/../ld
The resulting gcc, of course would only work if I used the -m64 flag for
everything.
Currently, the build fails with the following error. with the following error:
/path/to/src/gcc-4.2.2/gcc-4.2.2_build/./prev-gcc/xgcc
-B/path/to/src/gcc-4.2.2/gcc-4.2.2_build/./prev-gcc/
-B/path/to/gcc-4.2.2/sparc-sun-solaris2.9/bin/ -c -g -O2 -DIN_GCC
-W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H -I.
-Ifortran -I/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc
-I/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc/fortran
-I/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc/../include -I./../intl
-I/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc/../libcpp/include
-I/path/to/include
-I/grid/gro/vol/gbl_statcomp_devel/sparc-32-solaris_nc/include
-I/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc/../libdecnumber -I../libdecnumber
-I/path/to/include
-I/grid/gro/vol/gbl_statcomp_devel/sparc-32-solaris_nc/include
/path/to/src/gcc-4.2.2/gcc-4.2.2/gcc/fortran/trans-types.c -o
fortran/trans-types.o
/path/to/src/gcc-4.2.2/gcc-4.2.2_build/./prev-gcc/xgcc
-B/path/to/src/gcc-4.2.2/gcc-4.2.2_build/./prev-gcc/
-B/path/to/gcc-4.2.2/sparc-sun-solaris2.9/bin/ -g -O2 -DIN_GCC -W
-Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wmissing-format-attribute -DHAVE_CONFIG_H
-o f951 \
[SNIP]
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 -L/path/to/lib
-L/grid/gro/vol/gbl_statcomp_devel/sparc-32-solaris_nc/lib -lmpfr -lgmp
../libcpp/libcpp.a ./../intl/libintl.a -liconv ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a /path/to/bin/ld: skipping incompatible
/path/to/lib/libmpfr.so when searching for -lmpfr /path/to/bin/ld:
skipping incompatible /path/to/lib/libmpfr.a when searching for -lmpfr
/path/to/bin/ld:
cannot find -lmpfr collect2: ld returned 1 exit status make[3]: *** [f951]
Error 1
Any suggestions greatly appreciated!
--
Yorick