On Tue, 11 Mar 2025 at 15:55, Dennis Clarke wrote: > > On 3/11/25 05:48, Jonathan Wakely wrote: > > On Tue, 11 Mar 2025 at 01:17, Dennis Clarke via Gcc-help > > <gcc-help@xxxxxxxxxxx> wrote: > >> > <snip> > > ... > >> triton$ which g++ > >> /opt/bw/gcc14/bin/g++ > >> triton$ g++ --version > >> g++ (GENUNIX Mon Mar 10 18:16:45 UTC 2025) 14.2.0 > >> Copyright (C) 2024 Free Software Foundation, Inc. > >> This is free software; see the source for copying conditions. There is NO > >> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > > > -v would be a lot more interesting and useful here than --version > > > > triton$ > triton$ /opt/bw/gcc14/bin/g++ -v -O0 -g -c -o nothing.o nothing.cpp > Using built-in specs. > COLLECT_GCC=/opt/bw/gcc14/bin/g++ > Target: x86_64-linux-gnu > Configured with: ../gcc-14.2.0/configure --prefix=/opt/bw/gcc14 > --with-gnu-as --with-as=/opt/bw/bin/gas --with-gnu-ld > --with-ld=/opt/bw/bin/gld --disable-nls --disable-multilib > --enable-threads=posix --enable-shared > --with-build-time-tools=/opt/bw/bin --enable-bootstrap > --with-tune=generic --enable-linker-build-id --without-cuda-driver > --enable-__cxa_atexit --with-default-libstdcxx-abi=new --enable-tls > --libdir=/opt/bw/lib --enable-gnu-unique-object --enable-default-pie > --with-abi=m64 --build=x86_64-linux-gnu --host=x86_64-linux-gnu > --target=x86_64-linux-gnu --with-pkgversion='GENUNIX Mon Mar 10 18:16:45 > UTC 2025' > Thread model: posix > Supported LTO compression algorithms: zlib > gcc version 14.2.0 (GENUNIX Mon Mar 10 18:16:45 UTC 2025) > COLLECT_GCC_OPTIONS='-v' '-O0' '-g' '-c' '-o' 'nothing.o' > '-shared-libgcc' '-mtune=generic' '-march=x86-64' > /opt/bw/gcc14/libexec/gcc/x86_64-linux-gnu/14.2.0/cc1plus -quiet -v > -imultiarch x86_64-linux-gnu -D_GNU_SOURCE nothing.cpp -quiet -dumpbase > nothing.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -g -O0 > -version -o /var/tmp/dclarke/ccWAOqJZ.s > GNU C++17 (GENUNIX Mon Mar 10 18:16:45 UTC 2025) version 14.2.0 > (x86_64-linux-gnu) > compiled by GNU C version 14.2.0, GMP version 6.3.0, MPFR > version 4.2.1, MPC version 1.3.1, isl version isl-0.24-GMP > > GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 > ignoring nonexistent directory > "/opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/../../../../../../include/c++/14.2.0" > ignoring nonexistent directory > "/opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/../../../../../../include/c++/14.2.0/x86_64-linux-gnu" > ignoring nonexistent directory > "/opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/../../../../../../include/c++/14.2.0/backward" > ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" > ignoring nonexistent directory "/usr/local/include" > ignoring nonexistent directory > "/opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/include-fixed/x86_64-linux-gnu" > ignoring nonexistent directory > "/opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/../../../../../../x86_64-linux-gnu/include" > #include "..." search starts here: > #include <...> search starts here: > /opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/include > /opt/bw/gcc14/include > /opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/include-fixed > /usr/include/x86_64-linux-gnu > /usr/include > End of search list. > Compiler executable checksum: e18fc208d61cc85a2a920d8c55c96a4b > nothing.cpp:2:10: fatal error: iostream: No such file or directory > 2 | #include <iostream> > | ^~~~~~~~~~ > compilation terminated. > triton$ > > Well that tells a story right there. Indeed! $ realpath -m /opt/bw/lib/gcc/x86_64-linux-gnu/14.2.0/../../../../../../include/c++/14.2.0 /include/c++/14.2.0 That's not where they're installed. > >> * * * looks to be a good compiler * * * > >> see https://gcc.gnu.org/pipermail/gcc-testresults/2025-March/840512.html > > > > I'm curious why these are failing: > > > > FAIL: std/time/exceptions.cc -std=gnu++20 execution test > > FAIL: std/time/exceptions.cc -std=gnu++26 execution test > > FAIL: std/time/time_zone/get_info_local.cc -std=gnu++20 execution test > > FAIL: std/time/time_zone/get_info_local.cc -std=gnu++26 execution test > > FAIL: std/time/time_zone/get_info_sys.cc -std=gnu++20 execution test > > FAIL: std/time/time_zone/get_info_sys.cc -std=gnu++26 execution test > > FAIL: std/time/tzdb/1.cc -std=gnu++20 execution test > > FAIL: std/time/tzdb/1.cc -std=gnu++26 execution test > > FAIL: std/time/zoned_time/1.cc -std=gnu++20 execution test > > FAIL: std/time/zoned_time/1.cc -std=gnu++26 execution test > > FAIL: std/time/zoned_time/custom.cc -std=gnu++20 execution test > > FAIL: std/time/zoned_time/custom.cc -std=gnu++26 execution test > > FAIL: std/time/zoned_time/io.cc -std=gnu++20 execution test > > FAIL: std/time/zoned_time/io.cc -std=gnu++26 execution test > > FAIL: libstdc++-prettyprinters/chrono.cc execution test > > FAIL: libstdc++-prettyprinters/chrono.cc execution test > > > > > Good question. However I think the real issue was way back in the > configure stage where I had --libdir=/opt/bw/lib in there. That > really is not needed. Yup. The testresults are run against the just-built compiler in the build tree, before it's installed. So they aren't affected by any oddities in the installation layout. The headers can always be found in the build tree because they're at predictable locations. I'm a bit surprised it broke though, I would expect the implicit include paths to take the --libdir setting into account. That seems like a bug, albeit not a very high priority one because --libdir not being a subdirectory of --prefix is probably uncommon. > I am going to re-bootstrap without that. I see from your follow-up that it fixed your original issue. I'm still curious why all the C++ time zone tests fail. Do you have an incomplete/modified tzdata file on the system? If no tzdata files are found, then a bundled copy of tzdata should get used, so if they're failing that suggests your system does have the data but it's incomplete. Could you please look in the x86_64-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log file and search for ^FAIL and see what the errors are?