When trying to compile gcc 14.2.0, I run into the following error message:
/volume1/dev/gcc_build/./gcc/xgcc -shared-libgcc -B/volume1/dev/gcc_build/./gcc -nostdinc++ -L/volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src -L/volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/src/.libs -L/volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/libsupc++/.libs -B/opt/local/armv7l-unknown-linux-gnueabihf/bin/ -B/opt/local/armv7l-unknown-linux-gnueabihf/lib/ -isystem /opt/local/armv7l-unknown-linux-gnueabihf/include -isystem /opt/local/armv7l-unknown-linux-gnueabihf/sys-include -fno-checking -x c++-header -nostdinc++ -g -O2 -I/opt/include -D_GNU_SOURCE -I/volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/include/armv7l-unknown-linux-gnueabihf -I/volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/include -I/volume1/dev/gcc-14.2.0/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /volume1/dev/gcc-14.2.0/libstdc++-v3/include/precompiled/stdc++.h \ -o armv7l-unknown-linux-gnueabihf/bits/stdc++.h.gch/O2ggnu++0x.gch In file included from /volume1/dev/gcc-14.2.0/libstdc++-v3/include/precompiled/stdc++.h:42: /volume1/dev/gcc_build/armv7l-unknown-linux-gnueabihf/libstdc++-v3/include/cstdlib:79:15: fatal error: stdlib.h: No such file or directory 79 | #include_next <stdlib.h> | ^~~~~~~~~~ compilation terminated.
/volume1/dev/gcc_build
is the out-of-tree gcc build path and /volume1/dev/gcc-14.2.0
is the gcc source code tree.
Configure invocation is:
./gcc-14.2.0/configure LIBRARY_PATH=/opt/arm-buildroot-linux-gnueabihf/lib CFLAGS="-I/opt/include" CXXFLAGS="-I/opt/include" --with-gnu-as --disable-multilib --enable-languages=c,c++ --prefix=/opt/local --exec-prefix=/opt/local --enable-ld --enable-lto --enable-gold --with-newlib
(I had to include the LIBRARY_PATH
for proper crti.o
etc. pick-up)
Why isn't CFLAGS/CXXFLAGS being passed on to xgcc when building stage 1? And how can I convince xgcc to look in the correct location (/opt/include
)?