Fortran and objc Hans Boehm GC build issues -- sparcv9 libs

J.R. Taisto jr@e-integration.net
Mon Sep 11 23:01:00 GMT 2006


     I'm having issues with building my gcc 4.1.1 with
non-standard library locations for GMP, MPFR, and Hans Boehm
GC on Solaris 9.

cd ~/gcc-build
setenv CC gcc
setenv CXX g++

# Math support for fortran

setenv GMP_LIB  ${PKG_BASE}/math/gmp/gmp-4.2.1/lib/sparcv9
setenv MPFR_LIB ${PKG_BASE}/math/mpfr/mpfr-2.2.0/lib/sparcv9
setenv GMP_DIR  ${PKG_BASE}/math/gmp/gmp-4.2.1
setenv MPFR_DIR ${PKG_BASE}/math/mpfr/mpfr-2.2.0

# Hans Boehm Garbage Collection support for objc and obj-c++

setenv HansBoehmGC_LIB
${PKG_BASE}/utilities/HansBoehmgc/HansBoehmgc-6.8/lib/sparcv9

setenv HansBoehmGC_INC
${PKG_BASE}/utilities/HansBoehmgc/HansBoehmgc-6.8/include

setenv CFLAGS "-R${HansBoehmGC_LIB}"
setenv CXXFLAGS "-R${HansBoehmGC_LIB}"

setenv CPPFLAGS "-I${HansBoehmGC_INC}"
setenv LDFLAGS "-L${GMP_LIB} -L${MPFR_LIB} -L${HansBoehmGC_LIB}"

setenv CONFIG_SHELL /bin/ksh

# bug: 28247

Replace this file with a patched one:
/gcc-4.1.1/gcc/gthr-solaris.h

# Run configure

/gcc-4.1.1/configure sparc64-sun-solaris2.9 \                
    --prefix=${PKG_BASE}/compiler/GNU/gcc41/gcc-4.1.1 \
                     --with-gmp=${GMP_DIR} \
                     --with-mpfr=${MPFR_DIR} \
                     --enable-threads=solaris \
                     --enable-static \
                     --enable-shared \
                     --enable-haifa \
                     --with-dwarf2 \
                     --enable-nls \
                     --with-included-gettext \
                     --with-cpu=v9 \
                     --with-gnu-as --with-gnu-ld \
                     --with-objc-gc \
                     --disable-tls \
                --enable-languages=c,c++,fortran,objc,obj-c++


Issue 1:  When trying to build the fortran language it always
dies saying it can't find the libraries for gmp/mpfr.  The
configure script doesn't seem to support non-standard
locations for GMP and MPFR (only non-standard prefixed
locations that have $PREFIX/lib and $PREFIX/include installs).
 When I hack the configure script to use lib/sparcv9 for GMP
the configure script completes the makefiles.  However, the
compilation fails when building f951 (even if I add the
GMP/MPFR library locations to LD_LIBRARY_PATH).  Fails to
build kinds.h file.

Issue 2:  If I build gcc without the fortran language the make
bootstrap completes.  However, I seem to be missing the  objc
garbage collection library:  libobjc_gc.a.  What's weird is
that it doesn't seem to complain about not creating it.

Note:  Using make -k check and dejaGNU tests I get these failures:
FAIL: gcc.c-torture/compile/20001226-1.c  -O2  (test for
excess errors)
FAIL: gcc.c-torture/compile/20001226-1.c  -O3
-fomit-frame-pointer  (test for excess errors)
FAIL: gcc.c-torture/compile/20001226-1.c  -O3 -g  (test for
excess errors)
FAIL: gcc.c-torture/compile/20001226-1.c  -Os  (test for
excess errors)
FAIL: gcc.dg/special/gcsec-1.c (test for excess errors)
FAIL: largefile.c  -O0  (test for excess errors)
FAIL: largefile.c  -O1  (test for excess errors)
FAIL: largefile.c  -O2  (test for excess errors)
FAIL: largefile.c  -O3 -fomit-frame-pointer  (test for excess
errors)
FAIL: largefile.c  -O3 -g  (test for excess errors)
FAIL: largefile.c  -Os  (test for excess errors)
FAIL: largefile.c -O0 -g (test for excess errors)



Configure(s) for GMP, MPFR, and Hans Boehm GC:


../configure --build=sparc64-sun-solaris2.9 \
             --prefix=${PKG_BASE}/math/gmp/gmp-4.2.1 \
    --libdir=${PKG_BASE}/math/gmp/gmp-4.2.1/lib/sparcv9 \ 
             --enable-shared \
             --enable-static \
             --enable-cxx \
             --enable-fft 

../configure --build=sparc64-sun-solaris2.9 \
             --prefix=${PKG_BASE}/math/mpfr/mpfr-2.2.0 \     
       --libdir=${PKG_BASE}/math/mpfr/mpfr-2.2.0/lib/sparcv9 \
           
--with-gmp-include=${PKG_BASE}/math/gmp/gmp-4.2.1/include \  
         
--with-gmp-lib=${PKG_BASE}/math/gmp/gmp-4.2.1/lib/sparcv9 \
             --enable-shared \
             --enable-static

./configure \
--prefix=${PKG_BASE}/utilities/HansBoehmgc/HansBoehmgc-6.8 \ 
         
--libdir=${PKG_BASE}/utilities/HansBoehmgc/HansBoehmgc-6.8/lib/sparcv9
\
            --enable-threads=posix \
            --enable-static --enable-shared \
            --enable-cplusplus



J.R. Taisto
UNIX Consultant
jr@e-integration.net



More information about the Gcc-help mailing list