This has me baffled.
I can configure gcc and begin the bootstrap process in the usual way
with no real problems to speak of. I have done that many times before
and it is just one of those things that one should do. One of the
language options that I like to include is ADA. This is generally a
non-issue so long as you have gnat in some previous incantation. To
be more fair one should have a gcc and g++ compiler along with the
same revision of gnat in order to get a bootstrap going.
The nice folks with the NetBSD project recently released their shiney
new version 10.0 and it can be installed just about anywhere and on
anything half decent. Except some Fujitsu SPARC64 hardware. Those are
just dead hulks of silicon that can only run a specific version of
Solaris. So let's just say that an old AMD64 based chunk of Lenovo
hardware will run NetBSD flawlessly. That seems to be true.
So I do a config in the usual way similar to stuff I have done before
and I generally get good results :
https://gcc.gnu.org/pipermail/gcc-testresults/2024-March/810097.html
So a few things to note :
$
$
$ uname -a
NetBSD io.bw.genunix.com 10.0 NetBSD 10.0 (GENERIC) #0: Thu Mar 28
08:33:33 UTC 2024
mkrepro@xxxxxxxxxxxxxxxxxx:/usr/src/sys/arch/amd64/compile/GENERIC amd64
$
$ echo $CC
/usr/pkg/gcc13-gnat/bin/gcc
$ echo $CXX
/usr/pkg/gcc13-gnat/bin/g++
$ echo $GNAT
/usr/pkg/gcc13-gnat/bin/gnat
$ echo $PATH
/usr/pkg/gcc13-gnat/bin:/opt/bw/bin:/opt/bw/sbin:/usr/pkg/bin:/usr/pkg/sbin:/bin:/sbin:/usr/bin:/usr/sbin
$
$ which gmake
/opt/bw/bin/gmake
$
$ gmake --version
GNU Make 4.4.1
Built for x86_64-unknown-netbsd10.0
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$
The configure was smooth ...
$ ../gcc-13.2.0/configure --prefix=/opt/imed/gcc13 \
--target=x86_64--netbsd --build=x86_64--netbsd --host=x86_64--netbsd \
--enable-long-long --enable-threads --with-system-zlib \
--enable-__cxa_atexit --with-default-libstdcxx-abi=new \
--enable-tls --disable-multilib --enable-shared \
--enable-linker-build-id --without-included-gettext \
--enable-threads=posix --enable-nls \
--enable-languages=ada,c,c++,fortran,objc,obj-c++ \
--enable-bootstrap \
--with-tune=generic --enable-stage1-languages=c,c++ \
--enable-stage1-checking=misc --enable-checking=misc \
--with-gnu-as --with-as=/opt/bw/bin/gas \
--with-gnu-ld --with-ld=/opt/bw/bin/gld
checking build system type... x86_64--netbsd
checking host system type... x86_64--netbsd
checking target system type... x86_64--netbsd
checking for a BSD-compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for a sed that does not truncate output... /usr/pkg/bin/gsed
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking for libatomic support... yes
checking for libitm support... yes
checking for libsanitizer support... no
checking for libvtv support... no
checking for libphobos support... yes
checking for x86_64--netbsd-gcc... /usr/pkg/gcc13-gnat/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 /usr/pkg/gcc13-gnat/bin/gcc accepts -g... yes
checking for /usr/pkg/gcc13-gnat/bin/gcc option to accept ISO C89...
none needed
checking for /usr/pkg/gcc13-gnat/bin/gcc option to accept ISO C99...
none needed
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/pkg/gcc13-gnat/bin/g++ accepts -g... yes
checking whether g++ accepts -static-libstdc++ -static-libgcc... yes
checking for x86_64--netbsd-gnatbind... no
checking for gnatbind... gnatbind
checking for x86_64--netbsd-gnatmake... no
checking for gnatmake... gnatmake
checking whether compiler driver understands Ada and is recent enough... yes
checking for x86_64--netbsd-gdc... no
checking for gdc... no
checking whether the D compiler works... no
checking how to compare bootstrapped objects... cmp $$f1 $$f2 16 16
checking for objdir... .libs
configure: WARNING: using in-tree isl, disabling version check
The following languages will be built: c,ada,c++,fortran,lto,objc,obj-c++
*** This configuration is not supported in the following subdirectories:
zlib target-libsanitizer target-libvtv gotools target-libphobos
target-zlib target-libgo target-libffi target-libgm2
(Any other directories should still work fine.)
checking for default BUILD_CONFIG... bootstrap-debug
checking for --enable-vtable-verify... no
checking for bison... no
checking for byacc... no
checking for yacc... yacc
checking for bison... no
checking for gm4... no
checking for gnum4... no
checking for m4... m4
checking for flex... flex
checking for flex... flex
checking for makeinfo... makeinfo
checking for expect... no
checking for runtest... no
checking for ar... (cached) /opt/bw/bin/gar
checking for x86_64--netbsd-ar... (cached) /opt/bw/bin/gar
checking for as... (cached) /opt/bw/bin/gas
checking for x86_64--netbsd-as... (cached) /opt/bw/bin/gas
checking for x86_64--netbsd-dlltool... no
checking for dlltool... no
checking for x86_64--netbsd-dsymutil... no
checking for dsymutil... no
checking for ld... (cached) /opt/bw/bin/gld
checking for x86_64--netbsd-ld... (cached) /opt/bw/bin/gld
checking for x86_64--netbsd-lipo... no
checking for lipo... no
checking for nm... (cached) /opt/bw/bin/gnm -p
checking for x86_64--netbsd-nm... (cached) /opt/bw/bin/gnm -p
checking for ranlib... (cached) /opt/bw/bin/granlib
checking for x86_64--netbsd-ranlib... (cached) /opt/bw/bin/granlib
checking for strip... (cached) /opt/bw/bin/gstrip
checking for x86_64--netbsd-strip... (cached) /opt/bw/bin/gstrip
checking for x86_64--netbsd-windres... no
checking for windres... no
checking for x86_64--netbsd-windmc... no
checking for windmc... no
checking for objcopy... (cached) /opt/bw/bin/gobjcopy
checking for x86_64--netbsd-objcopy... (cached) /opt/bw/bin/gobjcopy
checking for objdump... (cached) /opt/bw/bin/gobjdump
checking for x86_64--netbsd-objdump... (cached) /opt/bw/bin/gobjdump
checking for x86_64--netbsd-otool... no
checking for otool... no
checking for readelf... (cached) /opt/bw/bin/greadelf
checking for x86_64--netbsd-readelf... (cached) /opt/bw/bin/greadelf
checking for x86_64--netbsd-cc... no
checking for cc... cc
checking for x86_64--netbsd-c++... x86_64--netbsd-c++
checking for x86_64--netbsd-gcc... x86_64--netbsd-gcc
checking for x86_64--netbsd-gfortran... no
checking for gfortran... no
checking for x86_64--netbsd-gccgo... no
checking for gccgo... no
checking for x86_64--netbsd-gdc... no
checking for gdc... no
checking for x86_64--netbsd-gm2... no
checking for gm2... no
checking for ar... no
checking for x86_64--netbsd-ar... no
checking for ar... ar
checking for as... no
checking for x86_64--netbsd-as... no
checking for as... as
checking for dlltool... no
checking for x86_64--netbsd-dlltool... no
checking for dlltool... no
checking for dsymutil... no
checking for x86_64--netbsd-dsymutil... no
checking for dsymutil... no
checking for ld... no
checking for x86_64--netbsd-ld... no
checking for ld... ld
checking for lipo... no
checking for x86_64--netbsd-lipo... no
checking for lipo... no
checking for nm... no
checking for x86_64--netbsd-nm... no
checking for nm... nm
checking for objcopy... no
checking for x86_64--netbsd-objcopy... no
checking for objcopy... objcopy
checking for objdump... no
checking for x86_64--netbsd-objdump... no
checking for objdump... objdump
checking for otool... no
checking for x86_64--netbsd-otool... no
checking for otool... no
checking for ranlib... no
checking for x86_64--netbsd-ranlib... no
checking for ranlib... ranlib
checking for readelf... no
checking for x86_64--netbsd-readelf... no
checking for readelf... readelf
checking for strip... no
checking for x86_64--netbsd-strip... no
checking for strip... strip
checking for windres... no
checking for x86_64--netbsd-windres... no
checking for windres... no
checking for windmc... no
checking for x86_64--netbsd-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 dsymutil... host tool
checking where to find the target gcc... just compiled
checking where to find the target gfortran... just compiled
checking where to find the target gccgo... host tool
checking where to find the target gdc... host tool
checking where to find the target gm2... 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 objcopy... host tool
checking where to find the target objdump... host tool
checking where to find the target otool... 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
configure: creating ./config.status
config.status: creating Makefile
The compile of each stage in the three stage bootstrap went just fine
until this happens in the final stage :
/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/xgcc \
-B/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/
-B/opt/imed/gcc13/x86_64--netbsd/bin/ \
-B/opt/imed/gcc13/x86_64--netbsd/lib/ \
-isystem /opt/imed/gcc13/x86_64--netbsd/include
-isystem /opt/imed/gcc13/x86_64--netbsd/sys-include \
-fchecking=1 -c -DIN_GCC -W -Wall -g -O2 -g -O2 -fexceptions \
-DIN_RTS -DHAVE_GETIPINFO \
-iquote . -iquote .. -iquote ../.. \
-iquote /opt/bw/build/gcc-13.2.0/gcc/ada \
-iquote /opt/bw/build/gcc-13.2.0/gcc \
-I/opt/bw/build/gcc-13.2.0/include \
-I./../.. -fno-omit-frame-pointer tracebak.c -o tracebak.o
gmake[5]: Leaving directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/gcc/ada/rts'
/opt/bw/bin/gmake -C rts \
CC="/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/xgcc \
-B/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/ \
-B/opt/imed/gcc13/x86_64--netbsd/bin/ \
-B/opt/imed/gcc13/x86_64--netbsd/lib/ \
-isystem /opt/imed/gcc13/x86_64--netbsd/include \
-isystem /opt/imed/gcc13/x86_64--netbsd/sys-include \
-fchecking=1" \
ADA_INCLUDES="" \
CFLAGS="-g -O2 " \
ADAFLAGS="-W -Wall -gnatpg -nostdinc " \
FORCE_DEBUG_ADAFLAGS="-g" \
srcdir=/opt/bw/build/gcc-13.2.0/gcc \
-f ../Makefile a-assert.o a-btgbso.o a-calari.o a-calcon.o
a-caldel.o a-calend.o a-calfor.o a-catizo.o a-cbdlli.o a-cbhama.o
a-cbhase.o a-cbmutr.o a-cborma.o a-cborse.o a-cbprqu.o a-cbsyqu.o
a-cdlili.o a-cgaaso.o a-cgarso.o a-cgcaso.o a-chacon.o a-chahan.o
a-charac.o a-chlat1.o a-chlat9.o ...
.
.
. many files all with names similar too a-ssiwti.o a-ssizti.o etc etc
.
s-tpobop.o s-tposen.o thread.o memtrack.o
gmake[5]: Entering directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/gcc/ada/rts'
/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/xgcc
-B/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/./gcc/
-B/opt/imed/gcc13/x86_64--netbsd/bin/
-B/opt/imed/gcc13/x86_64--netbsd/lib/ -isystem
/opt/imed/gcc13/x86_64--netbsd/include
-isystem /opt/imed/gcc13/x86_64--netbsd/sys-include -fchecking=1 -c -g
-O2 -W -Wall -gnatpg -nostdinc a-assert.adb -o a-assert.o
fatal error, run-time library not installed correctly
cannot locate file system.ads
compilation abandoned
gmake[5]: *** [../gcc-interface/Makefile:301: a-assert.o] Error 1
gmake[5]: Leaving directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/gcc/ada/rts'
gmake[4]: *** [gcc-interface/Makefile:631: gnatlib] Error 2
gmake[4]: Leaving directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/gcc/ada'
gmake[3]: *** [gcc-interface/Makefile:807: gnatlib-shared] Error 2
gmake[3]: Leaving directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/gcc/ada'
gmake[2]: *** [Makefile:107: gnatlib-shared] Error 2
gmake[2]: Leaving directory
'/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002/x86_64--netbsd/libada'
gmake[1]: *** [Makefile:26714: all-target-libada] Error 2
gmake[1]: Leaving directory '/opt/bw/build/gcc-13.2.0_NetBSD_10.0_amd64.002'
gmake: *** [Makefile:30011: bootstrap] Error 2
I put in some line breaks just so it is a bit more easy on the eyes.
This happens over and over. It may be related to just "assert" something
or other. It may be something else. I do not know.
Any helpful insights would be welcome.
--
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken