problems building gcc 4.0.1 on Solaris 9

Richard Gillman R.Gillman@nerc.ac.uk
Wed Jul 20 11:51:00 GMT 2005


When building gcc 4.0.1 on Solaris 9, I get

ld: warning: file 
../build-sparc-sun-solaris2.9/libiberty/libiberty.a(hashtab.o): wrong 
ELF class: ELFCLASS64
Undefined			first referenced
  symbol  			    in file
htab_create_alloc                   build/genmodes.o
htab_find                           build/genmodes.o
xcalloc                             build/genmodes.o
htab_hash_string                    build/genmodes.o
htab_find_slot                      build/genmodes.o
xmalloc                             build/genmodes.o
xstrdup                             build/genmodes.o
ld: fatal: Symbol referencing errors. No output written to build/genmodes

This is my script for running configure:

#!/usr/bin/sh
umask 022
cd /local1/dick1/dick1/gcc
# /usr/sfw/bin/gtar xvfp gcc-4.0.1.tar # tarball doesn't like Sun tar
#
# start from a clean sheet
rm -rf gcc-d/*
#mkdir -m 755 gcc-d
cd gcc-d
CC="/nerc/packages/gcc/3.4.2/bin/gcc"
export CC
CFLAGS="-m64"
export CFLAGS
CONFIG_SHELL=/bin/ksh; export CONFIG_SHELL
ABI=64
LDFLAGS=-64
MAKE=/opt/sfw/bin/gmake
/local1/dick1/dick1/gcc/gcc-4.0.1/configure 
--prefix=/nerc/packages/gcc/4.0.1/ \	--enable-languages=c,c++,f95 \
	--with-gmp=/nerc/packages/gcc/4.0.1/gmp \
	--with-mpfr=/nerc/packages/gcc/4.0.1/mpfr
#
# use gmake, else errors
# next is  gmake bootstrap
# next is gmake install

/nerc/packages/gcc/3.4.2/bin/gcc   -g -DENABLE_CHECKING 
-DENABLE_ASSERT_CHECKING -DIN_GCC   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition 
-DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/genmodes \
  build/genmodes.o build/errors.o 
../build-sparc-sun-solaris2.9/libiberty/libiberty.a
ld: warning: file 
../build-sparc-sun-solaris2.9/libiberty/libiberty.a(hashtab.o): wrong 
ELF class: ELFCLASS64
Undefined			first referenced
  symbol  			    in file
htab_create_alloc                   build/genmodes.o
htab_find                           build/genmodes.o
xcalloc                             build/genmodes.o
htab_hash_string                    build/genmodes.o
htab_find_slot                      build/genmodes.o
xmalloc                             build/genmodes.o
xstrdup                             build/genmodes.o
ld: fatal: Symbol referencing errors. No output written to build/genmodes
collect2: ld returned 1 exit status
gmake[2]: *** [build/genmodes] Error 1
gmake[2]: Leaving directory `/local1/dick1/dick1/gcc/gcc-d/gcc'
gmake[1]: *** [stage1_build] Error 2
gmake[1]: Leaving directory `/local1/dick1/dick1/gcc/gcc-d/gcc'
gmake: *** [bootstrap] Error 2

So, I am specifying CFLAGS -m64, but it looks like CFLAGS isn't being 
carried through to the build of these components.

If I now add change the CC definition to
CC="/nerc/packages/gcc/3.4.2/bin/gcc -m64"

I get a lot further, as far as

stage1/xgcc -Bstage1/ 
-B/nerc/packages/gcc/4.0.1//sparc-sun-solaris2.9/bin/   -g -O2 -DIN_GCC 
   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes 
-pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition 
  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/genmodes \
  build/genmodes.o build/errors.o 
../build-sparc-sun-solaris2.9/libiberty/libiberty.a
ld: warning: file 
../build-sparc-sun-solaris2.9/libiberty/libiberty.a(hashtab.o): wrong 
ELF class: ELFCLASS64
Undefined			first referenced
  symbol  			    in file
htab_create_alloc                   build/genmodes.o
htab_find                           build/genmodes.o
xcalloc                             build/genmodes.o
htab_hash_string                    build/genmodes.o
htab_find_slot                      build/genmodes.o
xmalloc                             build/genmodes.o
xstrdup                             build/genmodes.o
ld: fatal: Symbol referencing errors. No output written to build/genmodes
collect2: ld returned 1 exit status
gmake[2]: *** [build/genmodes] Error 1
gmake[2]: Leaving directory `/local1/dick1/dick1/gcc/gcc-d/gcc'
gmake[1]: *** [stage2_build] Error 2
gmake[1]: Leaving directory `/local1/dick1/dick1/gcc/gcc-d/gcc'
gmake: *** [bootstrap] Error 2

Is this a bug with a solution?

Any suggestions as to what I do next?

tia, Dick

-- 
Richard Gillman
iTSS UNIX Systems Group, Maclean Building, Wallingford OX10 8BB
Tel: 01491 - 692 339



More information about the Gcc-help mailing list