> > Any pointers at all as to the error of my ways ? > > http://gcc.gnu.org/install/specific.html#sparc64-x-solaris2
nope. Been there .. done that and that fails badly .. in fact worse than before : Configure .. look good but lies : $ ../gcc-4.7.2/configure --build=sparc64-sun-solaris2.10 --target=sparc64-sun-solaris2.10 \ > --with-as=/usr/ccs/bin/as --without-gnu-ld \ > --with-ld=/usr/ccs/bin/ld --disable-multilib --enable-nls \ > --enable-threads=posix --prefix=/usr/local/gcc4 --enable-shared \ > --libdir=/usr/local/gcc4/lib --with-local-prefix=/usr/local/gcc4 \ > --with-cpu=v9 --enable-stage1-languages=c --disable-multilib \ > --libexecdir=/usr/local/gcc4/lib > --with-gxx-include-dir=/usr/local/gcc4/include \ > --with-pkgversion=Blastwave.org\ Inc.\ Fri\ Nov\ \ 9\ 21\:55\:41\ UTC\ 2012 \ > --with-bugurl=http\:\/\/www.blastwave.org\/support \ > --enable-languages=c,c++,objc,fortran,ada --enable-bootstrap checking build system type... sparc64-sun-solaris2.10 checking host system type... sparc64-sun-solaris2.10 checking target system type... sparc64-sun-solaris2.10 checking for a BSD-compatible install... ../gcc-4.7.2/install-sh -c checking whether ln works... yes checking whether ln -s works... yes checking for a sed that does not truncate output... /usr/local/bin/gsed checking for gawk... gawk checking for libitm support... yes checking for gcc... /opt/csw/gcc4/bin/gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /opt/csw/gcc4/bin/gcc accepts -g... yes checking for /opt/csw/gcc4/bin/gcc option to accept ISO C89... none needed checking whether we are using the GNU C++ compiler... yes checking whether /opt/csw/gcc4/bin/g++ accepts -g... yes checking for gnatbind... gnatbind checking for gnatmake... gnatmake checking whether compiler driver understands Ada... yes checking how to compare bootstrapped objects... cmp $$f1 $$f2 16 16 checking for objdir... .libs checking for PWL_handle_timeout in -lpwl... no checking for version 0.11 (revision 0 or later) of PPL... no The following languages will be built: c,ada,c++,fortran,lto,objc *** This configuration is not supported in the following subdirectories: target-libmudflap target-libgo target-libffi target-zlib target-libjava target-boehm-gc (Any other directories should still work fine.) checking for default BUILD_CONFIG... checking for bison... bison -y checking for bison... bison checking for gm4... /usr/local/bin/gm4 checking for flex... flex checking for flex... flex checking for makeinfo... makeinfo checking for expect... expect checking for runtest... runtest checking for ar... (cached) /usr/ccs/bin/ar checking for as... (cached) /usr/ccs/bin/as checking for dlltool... no checking for ld... (cached) /usr/ccs/bin/ld checking for lipo... no checking for nm... nm checking for ranlib... ranlib checking for strip... strip checking for windres... no checking for windmc... no checking for objcopy... no checking for objdump... no checking for readelf... no checking for sparc64-sun-solaris2.10-cc... no checking for cc... cc checking for sparc64-sun-solaris2.10-c++... no checking for c++... c++ checking for sparc64-sun-solaris2.10-gcc... no checking for gcc... gcc checking for sparc64-sun-solaris2.10-gcj... no checking for gcj... no checking for sparc64-sun-solaris2.10-gfortran... no checking for gfortran... gfortran checking for sparc64-sun-solaris2.10-gccgo... no checking for gccgo... no checking for ar... no checking for sparc64-sun-solaris2.10-ar... no checking for ar... ar checking for as... no checking for sparc64-sun-solaris2.10-as... no checking for as... as checking for dlltool... no checking for sparc64-sun-solaris2.10-dlltool... no checking for dlltool... no checking for ld... no checking for sparc64-sun-solaris2.10-ld... no checking for ld... ld checking for lipo... no checking for sparc64-sun-solaris2.10-lipo... no checking for lipo... no checking for nm... no checking for sparc64-sun-solaris2.10-nm... no checking for nm... nm checking for objdump... no checking for sparc64-sun-solaris2.10-objdump... no checking for objdump... no checking for ranlib... no checking for sparc64-sun-solaris2.10-ranlib... no checking for ranlib... ranlib checking for readelf... no checking for sparc64-sun-solaris2.10-readelf... no checking for readelf... no checking for strip... no checking for sparc64-sun-solaris2.10-strip... no checking for strip... strip checking for windres... no checking for sparc64-sun-solaris2.10-windres... no checking for windres... no checking for windmc... no checking for sparc64-sun-solaris2.10-windmc... no checking for windmc... no checking where to find the target ar... host tool checking where to find the target as... host tool checking where to find the target cc... just compiled checking where to find the target c++... just compiled checking where to find the target c++ for libstdc++... just compiled checking where to find the target dlltool... host tool checking where to find the target gcc... just compiled checking where to find the target gcj... host tool checking where to find the target gfortran... just compiled checking where to find the target gccgo... host tool checking where to find the target ld... host tool checking where to find the target lipo... host tool checking where to find the target nm... host tool checking where to find the target objdump... host tool checking where to find the target ranlib... host tool checking where to find the target readelf... host tool checking where to find the target strip... host tool checking where to find the target windres... host tool checking where to find the target windmc... host tool checking whether to enable maintainer-specific portions of Makefiles... no checking whether -fkeep-inline-functions is supported... yes configure: creating ./config.status config.status: creating Makefile $ $ gmake [ -f stage_final ] || echo stage3 > stage_final gmake[1]: Entering directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' gmake[2]: Entering directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' gmake[2]: Leaving directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' gmake[2]: Entering directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' Configuring stage 1 in ./intl . . . a little while later . . . gmake[4]: Leaving directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002/mpfr' gmake[3]: Leaving directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002/mpfr' Configuring stage 1 in ./mpc configure: creating cache ./config.cache checking for a BSD-compatible install... /usr/local/build/gcc-4.7.2/install-sh -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ../../gcc-4.7.2/mpc/install-sh -c -d checking for gawk... gawk checking whether /usr/local/bin/gmake sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking build system type... sparc64-sun-solaris2.10 checking host system type... sparc64-sun-solaris2.10 checking for grep that handles long lines and -e... /usr/xpg4/bin/grep checking for egrep... /usr/xpg4/bin/grep -E checking for a sed that does not truncate output... /usr/local/bin/gsed checking for sparc64-sun-solaris2.10-gcc... /opt/csw/gcc4/bin/gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /opt/csw/gcc4/bin/gcc accepts -g... yes checking for /opt/csw/gcc4/bin/gcc option to accept ISO C89... none needed checking for style of include used by /usr/local/bin/gmake... GNU checking dependency style of /opt/csw/gcc4/bin/gcc... gcc3 checking for sparc64-sun-solaris2.10-ar... /usr/ccs/bin/ar checking the archiver (/usr/ccs/bin/ar) interface... ar checking how to print strings... printf checking for a sed that does not truncate output... (cached) /usr/local/bin/gsed checking for fgrep... /usr/xpg4/bin/grep -F checking for ld used by /opt/csw/gcc4/bin/gcc... /usr/ccs/bin/ld checking if the linker (/usr/ccs/bin/ld) is GNU ld... no checking for BSD- or MS-compatible name lister (nm)... nm checking the name lister (nm) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 786240 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking how to convert sparc64-sun-solaris2.10 file names to sparc64-sun-solaris2.10 format... func_convert_file_noop checking how to convert sparc64-sun-solaris2.10 file names to toolchain format... func_convert_file_noop checking for /usr/ccs/bin/ld option to reload object files... -r checking for sparc64-sun-solaris2.10-objdump... objdump checking how to recognize dependent libraries... pass_all checking for sparc64-sun-solaris2.10-dlltool... dlltool checking how to associate runtime and link libraries... printf %s\n checking for sparc64-sun-solaris2.10-ar... (cached) /usr/ccs/bin/ar checking for archiver @FILE support... no checking for sparc64-sun-solaris2.10-strip... no checking for strip... strip checking for sparc64-sun-solaris2.10-ranlib... ranlib checking command to parse nm output from /opt/csw/gcc4/bin/gcc object... failed checking for sysroot... no checking for sparc64-sun-solaris2.10-mt... no checking for mt... mt checking if mt is a manifest tool... no checking how to run the C preprocessor... /opt/csw/gcc4/bin/gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if /opt/csw/gcc4/bin/gcc supports -fno-rtti -fno-exceptions... no checking for /opt/csw/gcc4/bin/gcc option to produce PIC... -fPIC -DPIC checking if /opt/csw/gcc4/bin/gcc PIC flag -fPIC -DPIC works... yes checking if /opt/csw/gcc4/bin/gcc static flag -static works... no checking if /opt/csw/gcc4/bin/gcc supports -c -o file.o... yes checking if /opt/csw/gcc4/bin/gcc supports -c -o file.o... (cached) yes checking whether the /opt/csw/gcc4/bin/gcc linker (/usr/ccs/bin/ld) supports shared libraries... yes checking dynamic linker characteristics... solaris2.10 ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... no checking if libtool supports shared libraries... yes checking whether to build shared libraries... no checking whether to build static libraries... yes checking for gmp.h... yes checking for ANSI C header files... (cached) yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking for unistd.h... (cached) yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking whether time.h and sys/time.h may both be included... yes checking complex.h usability... yes checking complex.h presence... yes checking for complex.h... yes checking for library containing creal... -lm checking whether creal, cimag and I can be used... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for gettimeofday... yes checking for localeconv... yes checking for setlocale... yes checking for dup... yes checking for dup2... yes checking for __gmpz_init in -lgmp... yes checking for MPFR... no configure: error: libmpfr not found or uses a different ABI (including static vs shared). gmake[2]: *** [configure-stage1-mpc] Error 1 gmake[2]: Leaving directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' gmake[1]: *** [stage1-bubble] Error 2 gmake[1]: Leaving directory `/usr/local/build/gcc-4.7.2_SunOS5.10.002' gmake: *** [all] Error 2 $ The build dir is laced with 32-bit objects all over the place. $ find . -type f | xargs file | grep ELF | grep -c "ELF 32-bit MSB relocatable SPARC Version 1" 823 Nothing is 64-bit .. $ find . -type f | xargs file | grep ELF | grep -c "ELF 64-bit" 0 My previous attempt with viciously hand edited Makefiles was doing better : $ cd ../gcc-4.7.2_SunOS5.10-pass1/ $ find . -type f | xargs file | grep ELF | grep -c "ELF 64-bit" 825 $ find . -type f | xargs file | grep ELF | grep -c "ELF 32-bit" 5 .. but .. no solution in sight. However I am way way open to suggestion here. Dennis