gcc 3.1 fails to bootstrap on sparc64-sun-solaris2.8

Alexander Poquet atpoquet@ucdavis.edu
Mon May 20 21:36:00 GMT 2002


Hey folks.
Trying to build a 64-bit capable gcc on sparcv9.  sparc64-sun-solaris2.8 is
listed as a successful build, and a few people on #sparc at opn report
success.  I, however, am experiencing failure.  This is most likely due to
user error, and any help pointing out what I'm doing incorrectly would be
useful.

I obtained the gcc-3.1 source from ftp.gnu.org.  I then configured it with
the following arguments:
    --prefix=/export/home/atp/gcc-3.1-64 sparc64-sun-solaris2.8
I've appended the output of this command for analysis.  Anyway, I then do
the standard 'make bootstrap' at which point the compile starts chugging
away (though it produces a number of warnings) and it eventually gives me
the following error:

---- BEGIN ERROR ----
stage1/xgcc -Bstage1/ -B/export/home/atp/gcc-3.1-64/sparc64-sun-solaris2.8/bin/ -DIN_GCC    -g -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o genflags \
 genflags.o rtl.o read-rtl.o bitmap.o ggc-none.o gensupport.o print-rtl.o errors.o ../libiberty/libiberty.a
ld: warning: file ../libiberty/libiberty.a(hashtab.o): wrong ELF class: ELFCLASS32
Undefined                       first referenced
 symbol                             in file
htab_create                         read-rtl.o
_obstack_begin                      genflags.o
_sch_toupper                        genflags.o
obstack_free                        read-rtl.o
htab_find                           read-rtl.o
_sch_istable                        genflags.o
xstrdup                             read-rtl.o
xmalloc                             genflags.o
htab_find_slot                      read-rtl.o
_obstack_newchunk                   genflags.o
htab_traverse                       read-rtl.o
ld: fatal: Symbol referencing errors. No output written to genflags
collect2: ld returned 1 exit status
make[2]: *** [genflags] Error 1
make[2]: Leaving directory `/export/home/atp/gcc-3.1/gcc'
make[1]: *** [stage2_build] Error 2
make[1]: Leaving directory `/export/home/atp/gcc-3.1/gcc'
make: *** [bootstrap] Error 2
---- END ERROR ----

I am using gcc 3.0.3 to compile this baby, with Solaris ld and as.  Some useful
command output:
atp@mithras-2.03:~/gcc-3.1$ gcc -v
Reading specs from /usr/local/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.0.3/specs
Configured with: ./configure 
Thread model: posix
gcc version 3.0.3
atp@mithras-2.03:~/gcc-3.1$ uname -a
SunOS mithras 5.8 Generic_108528-13 sun4u sparc SUNW,Ultra-5_10
atp@mithras-2.03:~/gcc-3.1$ isainfo
sparcv9 sparc

Does anyone have any idea what I'm doing wrong?

Alexander

---- CONFIGURE OUTPUT FOLLOWS (this is long) ----
Created "Makefile" in /export/home/atp/gcc-3.1 using "mh-frag"
./config.status is unchanged
Configuring libiberty...
creating cache ../config.cache
checking whether to enable maintainer-specific portions of Makefiles... no
checking for makeinfo... makeinfo
checking for perl... perl
checking host system type... sparc64-sun-solaris2.8
checking build system type... sparc64-sun-solaris2.8
checking for ar... ar
checking for ranlib... ranlib
checking for gcc... gcc
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for POSIXized ISC... no
checking for working const... yes
checking for inline... inline
checking for a BSD compatible install... /usr/local/bin/install -c
xhost-mkfrag is unchanged
checking how to run the C preprocessor... gcc -E
checking for sys/file.h... yes
checking for sys/param.h... yes
checking for limits.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for unistd.h... yes
checking for strings.h... yes
checking for sys/time.h... yes
checking for time.h... yes
checking for sys/resource.h... yes
checking for sys/stat.h... yes
checking for sys/mman.h... yes
checking for fcntl.h... yes
checking for alloca.h... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether errno must be declared... no
checking for ANSI C header files... yes
checking for uintptr_t... yes
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking for asprintf... no
checking for atexit... yes
checking for basename... yes
checking for bcmp... yes
checking for bcopy... yes
checking for bsearch... yes
checking for bzero... yes
checking for calloc... yes
checking for clock... yes
checking for ffs... yes
checking for getcwd... yes
checking for getpagesize... yes
checking for index... yes
checking for insque... yes
checking for memchr... yes
checking for memcmp... yes
checking for memcpy... yes
checking for memmove... yes
checking for memset... yes
checking for mkstemps... no
checking for putenv... yes
checking for random... yes
checking for rename... yes
checking for rindex... yes
checking for setenv... no
checking for sigsetmask... no
checking for strcasecmp... yes
checking for strchr... yes
checking for strdup... yes
checking for strncasecmp... yes
checking for strrchr... yes
checking for strstr... yes
checking for strtod... yes
checking for strtol... yes
checking for strtoul... yes
checking for tmpnam... yes
checking for vasprintf... no
checking for vfprintf... yes
checking for vprintf... yes
checking for vsprintf... yes
checking for waitpid... yes
checking whether alloca needs Cray hooks... no
checking stack direction for C alloca... -1
checking for pid_t... yes
checking for vfork.h... no
checking for working vfork... yes
checking for _doprnt... yes
checking for sys_errlist... yes
checking for sys_nerr... yes
checking for sys_siglist... no
checking for getrusage... yes
checking for on_exit... no
checking for psignal... yes
checking for strerror... yes
checking for strsignal... yes
checking for sysconf... yes
checking for times... yes
checking for sbrk... yes
checking for gettimeofday... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... yes
checking for getpagesize... (cached) yes
checking for working mmap... yes
checking for working strncmp... yes
updating cache ../config.cache
creating ./config.status
creating Makefile
creating testsuite/Makefile
creating config.h
Configuring zlib...
loading cache ../config.cache
checking host system type... sparc64-sun-solaris2.8
checking target system type... sparc64-sun-solaris2.8
checking build system type... sparc64-sun-solaris2.8
checking for a BSD compatible install... (cached) /usr/local/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking whether to enable maintainer-specific portions of Makefiles... no
checking for gcc... (cached) gcc
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for ld used by GCC... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/ccs/bin/nm -p
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking for object suffix... o
checking for ranlib... (cached) ranlib
checking for strip... strip
updating cache ../config.cache
loading cache ../config.cache within ltconfig
checking whether -lc should be explicitly linked in... yes
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
finding the maximum length of command line arguments... 393217
checking if gcc supports -c -o file.o... yes
checking if gcc supports -fno-rtti -fno-exceptions ... yes
checking whether the linker (/usr/ccs/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking dynamic linker characteristics... solaris2.8 ld.so
checking command to parse /usr/ccs/bin/nm -p output... ok
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
creating libtool
updating cache ../config.cache
loading cache ../config.cache
checking how to run the C preprocessor... (cached) gcc -E
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) yes
checking for memcpy... (cached) yes
checking for strerror... (cached) yes
checking for unistd.h... (cached) yes
creating ./config.status
creating Makefile
Configuring gcc...
loading cache ../config.cache
checking LIBRARY_PATH variable... ok
checking GCC_EXEC_PREFIX variable... ok
checking host system type... sparc64-sun-solaris2.8
checking target system type... sparc64-sun-solaris2.8
checking build system type... sparc64-sun-solaris2.8
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking whether gcc and cc understand -c and -o together... yes
checking for gnatbind... no
checking for compiler driver that understands Ada... no
checking whether gcc accepts -Wno-long-long... yes
checking how to run the C preprocessor... (cached) gcc -E
checking for inline... (cached) inline
checking for volatile... yes
checking for long double... yes
checking for long long int... yes
checking for __int64... no
checking for built-in _Bool... yes
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking execution character set... ASCII
checking whether make sets ${MAKE}... (cached) yes
checking whether a default assembler was specified... no
checking whether a default linker was specified... no
checking for GNU C library... no
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether ln works... yes
checking whether ln -s works... yes
checking for ranlib... (cached) ranlib
checking for a BSD compatible install... (cached) /usr/local/bin/install -c
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... (cached) yes
checking for working stdbool.h... yes
checking whether string.h and strings.h may both be included... yes
checking for sys/wait.h that is POSIX.1 compatible... (cached) yes
checking for limits.h... (cached) yes
checking for stddef.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for time.h... (cached) yes
checking for fcntl.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/file.h... (cached) yes
checking for sys/time.h... (cached) yes
checking for sys/resource.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for sys/times.h... yes
checking for sys/stat.h... (cached) yes
checking for direct.h... no
checking for malloc.h... yes
checking for langinfo.h... yes
checking for thread.h... yes
checking for pthread.h... yes
checking for CHAR_BIT... yes
checking byte ordering... big-endian
checking floating point format... IEEE (big-endian)
checking for mktemp... no
checking for makeinfo... (cached) makeinfo
checking for modern makeinfo... no
configure: warning: 
*** Makeinfo is missing or too old.
*** Info documentation will not be built.
checking for recent Pod::Man... yes
checking for flex... flex
checking for bison... bison
checking for collect2 libraries... none required
checking for library containing exc_resume... no
checking for preprocessor stringizing operator... yes
checking for inttypes.h... yes
checking for times... (cached) yes
checking for clock... (cached) yes
checking for dup2... yes
checking for kill... yes
checking for getrlimit... yes
checking for setrlimit... yes
checking for atoll... yes
checking for atoq... no
checking for sysconf... (cached) yes
checking for strsignal... (cached) yes
checking for putc_unlocked... yes
checking for fputc_unlocked... no
checking for fputs_unlocked... no
checking for fwrite_unlocked... no
checking for fprintf_unlocked... no
checking for getrusage... (cached) yes
checking for nl_langinfo... yes
checking for lstat... yes
checking for ssize_t... yes
checking for uid_t in sys/types.h... yes
checking type of array argument to getgroups... gid_t
checking whether the printf functions support %p... yes
checking for pid_t... (cached) yes
checking for vfork.h... (cached) no
checking for working vfork... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap from /dev/zero... no
checking for working mmap with MAP_ANON(YMOUS)... no
checking for working mmap of a file... yes
checking for iconv... yes
checking for iconv declaration... 
         extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking whether getenv is declared... yes
checking whether atol is declared... yes
checking whether sbrk is declared... yes
checking whether abort is declared... yes
checking whether atof is declared... yes
checking whether getcwd is declared... yes
checking whether getwd is declared... yes
checking whether strsignal is declared... yes
checking whether putc_unlocked is declared... no
checking whether fputs_unlocked is declared... no
checking whether fwrite_unlocked is declared... no
checking whether fprintf_unlocked is declared... no
checking whether strstr is declared... yes
checking whether errno is declared... yes
checking whether malloc is declared... yes
checking whether realloc is declared... yes
checking whether calloc is declared... yes
checking whether free is declared... yes
checking whether basename is declared... no
checking whether getopt is declared... yes
checking whether clock is declared... yes
checking whether getrlimit is declared... yes
checking whether setrlimit is declared... yes
checking whether getrusage is declared... yes
checking whether times is declared... yes
checking for struct tms... yes
checking for clock_t... yes
checking if mkdir takes one argument... no
Using `./config/sparc/sparc.c' for machine-specific logic.
Using `./config/sparc/sparc.md' as machine description file.
Using the following target machine macro files:
        ./config/sparc/biarch64.h
        ./config/sparc/sparc.h
        ./config/dbxelf.h
        ./config/elfos.h
        ./config/svr4.h
        ./config/sparc/sysv4.h
        ./config/sparc/sol2.h
        ./config/sparc/sol2-64.h
        ./config/sparc/sol2-bi.h
checking for library containing strerror... none required
checking for working const... (cached) yes
checking for off_t... yes
checking for size_t... yes
checking for working alloca.h... (cached) yes
checking for alloca... yes
checking whether we are using the GNU C Library 2.1 or newer... no
checking for argz.h... no
checking for limits.h... (cached) yes
checking for locale.h... yes
checking for nl_types.h... yes
checking for malloc.h... (cached) yes
checking for stddef.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for feof_unlocked... no
checking for fgets_unlocked... no
checking for getcwd... (cached) yes
checking for getegid... yes
checking for geteuid... yes
checking for getgid... yes
checking for getuid... yes
checking for mempcpy... no
checking for munmap... yes
checking for putenv... (cached) yes
checking for setenv... (cached) no
checking for setlocale... yes
checking for stpcpy... no
checking for strchr... (cached) yes
checking for strcasecmp... (cached) yes
checking for strdup... (cached) yes
checking for strtoul... (cached) yes
checking for tsearch... yes
checking for __argz_count... no
checking for __argz_stringify... no
checking for __argz_next... no
checking for iconv... (cached) yes
checking for iconv declaration... (cached) 
         extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for nl_langinfo and CODESET... yes
checking for LC_MESSAGES... yes
checking whether NLS is requested... yes
checking whether included gettext is requested... no
checking for libintl.h... yes
checking for GNU gettext in libc... no
checking for GNU gettext in libintl... yes
checking for dcgettext... yes
checking for msgfmt... /usr/local/bin/msgfmt
checking for gmsgfmt... /usr/local/bin/msgfmt
checking for xgettext... /usr/local/bin/xgettext
checking for bison... bison
checking version of bison... 1.28, ok
checking for catalogs to be installed...  da el es fr ja nl sv tr da el es fr ja nl sv tr
checking what assembler to use... /usr/ccs/bin/as
checking what linker to use... /usr/ccs/bin/ld
checking what nm to use... nm
checking what objdump to use... objdump
checking assembler alignment features... none
checking assembler subsection support... no
checking assembler weak support... yes
checking assembler hidden support... no
checking assembler leb128 support... no
checking assembler eh_frame optimization... no
checking assembler section merging support... no
checking assembler .register pseudo-op support... yes
checking assembler supports -relax... no
checking assembler and linker support unaligned pc related relocs... no
checking assembler and linker support unaligned pc related relocs against hidden symbols... no
checking for assembler offsetable %lo() support... no
checking assembler dwarf2 debug_line support... no
checking assembler --gdwarf2 support... no
checking assembler --gstabs support... no
checking linker PT_GNU_EH_FRAME support... no
Using ggc-page for garbage collection.
checking whether to enable maintainer-specific portions of Makefiles... no
Links are now set up to build a native compiler for sparc64-sun-solaris2.8
updating cache ../config.cache
creating ./config.status
creating Makefile
creating intl/Makefile
creating fixinc/Makefile
creating gccbug
creating mklibgcc
creating auto-host.h
auto-host.h is unchanged
Configuring fastjar...
loading cache ../config.cache
checking for a BSD compatible install... (cached) /usr/local/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... (cached) yes
checking for working aclocal... found
checking for working autoconf... found
checking for working automake... found
checking for working autoheader... found
checking for working makeinfo... found
checking for gcc... (cached) gcc
checking whether the C compiler (gcc -g -O2 ) works... yes
checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for a BSD compatible install... /usr/local/bin/install -c
checking for rm... /usr/local/bin/rm
checking for cp... /usr/local/bin/cp
checking for strip... /usr/ccs/bin/strip
checking for chmod... /usr/local/bin/chmod
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for executable suffix... no
checking whether to enable maintainer-specific portions of Makefiles... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking how to run the C preprocessor... (cached) gcc -E
checking for ANSI C header files... (cached) yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for fcntl.h... (cached) yes
checking for unistd.h... (cached) yes
checking for sys/param.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for off_t... (cached) yes
checking whether struct tm is in sys/time.h or time.h... (cached) time.h
checking size of char... 1
checking size of short... (cached) 2
checking size of int... (cached) 4
checking size of long... (cached) 4
checking size of long long... (cached) 8
checking whether byte ordering is bigendian... yes
updating cache ../config.cache
creating ./config.status
creating Makefile
creating install-defs.sh
creating config.h
config.h is unchanged
---- END CONFIGURE OUTPUT ----

cheers...
-- 
Alexander Poquet                | Claim your namespace! Support the OpenNIC &
atpoquet@ucdavis.edu            | OpenDNS -- democracy, not autocracy!
GPG: DBAD4C96        Use Linux! | http://www.opennic.unrated.net/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-help/attachments/20020520/3c110209/attachment.sig>


More information about the Gcc-help mailing list