https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126430
Bug ID: 126430
Summary: [17 regression] gnattools build fails with "Cannot
build gnattools while gnatlib is out of date or
unbuilt" [r17-2316-g38d41abb75838d]
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Keywords: build
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: [email protected]
Target Milestone: ---
Target: riscv64-*-*
Created attachment 65139
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=65139&action=edit
Full build log
+ ../configure --prefix=/usr --build=riscv64-suse-linux --enable-shared
--with-system-zlib 'CFLAGS=-O2 -g' 'CXXFLAGS=-O2 -g' --with-multilib-list=lp64d
--enable-link-serialization
...
test -f stamp-libada || \
make -C ../.././gcc/ada "MAKEOVERRIDES=" "LDFLAGS=" "LN_S=ln -s"
"SHELL=/bin/sh" "GNATLIBFLAGS=-W -Wall -gnatpg -nostdinc " "GNATLIBCFLAGS=-g
-O2 " "GNATLIBCFLAGS_FOR_C=-W -Wall -g -O2 -O2 -g -fexceptions -DIN_RTS
-DHAVE_GETIPINFO -DHAVE_CAPABILITY " "PICFLAG_FOR_TARGET=-fPIC"
"THREAD_KIND=native" "TRACE=no" "MULTISUBDIR=/lib64/lp64d"
"libsubdir=/usr/lib/gcc/riscv64-suse-linux/17.0.0/lib64/lp64d"
"toolexeclibdir=/usr/lib/gcc/riscv64-suse-linux/17.0.0/lib64/lp64d/adalib"
"objext=.o" "prefix=/usr" "exeext=.exeext.should.not.be.used "
'CC=the.host.compiler.should.not.be.needed'
"GCC_FOR_TARGET=/daten/riscv64/gcc/gcc-20260717/Build/./gcc/xgcc
-B/daten/riscv64/gcc/gcc-20260717/Build/./gcc/ -B/usr/riscv64-suse-linux/bin/
-B/usr/riscv64-suse-linux/lib/ -isystem /usr/riscv64-suse-linux/include
-isystem /usr/riscv64-suse-linux/sys-include " "CFLAGS=-O2 -g" gnatlib-shared
\
&& touch stamp-libada
...
make[2]: Entering directory '/daten/riscv64/gcc/gcc-20260717/Build/gnattools'
Cannot build gnattools while gnatlib is out of date or unbuilt
make[2]: *** [Makefile:160: ../gcc/stamp-gnatlib-rts] Error 1
make[2]: Leaving directory '/daten/riscv64/gcc/gcc-20260717/Build/gnattools'
make[1]: *** [Makefile:14381: all-gnattools] Error 2
The bug is that libada is built with MULTISUBDIR="/lib64/lp64d", which is
supposed to be empty.