On 3/12/25 14:06, Jonathan Wakely wrote:
On Wed, 12 Mar 2025 at 17:52, Dennis Clarke wrote:
This is a default out of the box install of Devuan Linux which is just a
really fantastic Linux distro based on the Debian goodness. ....
Please don't. Nobody cares if you incorrectly think ...
Sorry ... won't happen again.
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?
t$ find . -type f -name libstdc++.log
./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
t$
t$ wc -l ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
115033 ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
t$
Yikes .... 115033 lines.
t$
t$ grep '^FAIL' ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
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/exceptions.cc -std=gnu++20 execution test
FAIL: std/time/exceptions.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
t$
No idea why these are failing.
Look in the log, it will tell you. All you've shown is that they fail,
which was already in the gcc-testresults email.
Search for ^FAIL in the file and look at the lines surrounding it.
They're probably all failing for the same reason.
Alrighty then .. we have something here :
t$
t$ grep -n '^FAIL' ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
27145:FAIL: std/time/time_zone/get_info_local.cc -std=gnu++20 execution
test
27157:FAIL: std/time/time_zone/get_info_local.cc -std=gnu++26 execution
test
47161:FAIL: std/time/time_zone/get_info_sys.cc -std=gnu++20 execution test
47173:FAIL: std/time/time_zone/get_info_sys.cc -std=gnu++26 execution test
47204:FAIL: std/time/tzdb/1.cc -std=gnu++20 execution test
47215:FAIL: std/time/tzdb/1.cc -std=gnu++26 execution test
87928:FAIL: std/time/exceptions.cc -std=gnu++20 execution test
87942:FAIL: std/time/exceptions.cc -std=gnu++26 execution test
88813:FAIL: std/time/zoned_time/1.cc -std=gnu++20 execution test
88827:FAIL: std/time/zoned_time/1.cc -std=gnu++26 execution test
88839:FAIL: std/time/zoned_time/custom.cc -std=gnu++20 execution test
88851:FAIL: std/time/zoned_time/custom.cc -std=gnu++26 execution test
88875:FAIL: std/time/zoned_time/io.cc -std=gnu++20 execution test
88887:FAIL: std/time/zoned_time/io.cc -std=gnu++26 execution test
102909:FAIL: libstdc++-prettyprinters/chrono.cc execution test
103859:FAIL: libstdc++-prettyprinters/chrono.cc execution test
t$
I will drag out the first FAIL there :
t$ head -27145 ./x86_64-linux-gnu/libstdc++-v3/testsuite/libstdc++.log
| tail -7
PASS: std/time/time_zone/get_info_local.cc -std=gnu++20 (test for
excess errors)
Setting LD_LIBRARY_PATH to
:/opt/bw/build/gcc-14.2.0_linux_xeon.003/gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/src/.libs::/opt/bw/build/gcc-14.2.0_linux_xeon.003/gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/../libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/./libstdc++-v3/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./gmp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-gmp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./mpfr/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-mpfr/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./mpc/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-mpc/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./isl/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-isl/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libstdc++-v3/src/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libsanitizer/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libvtv/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libssp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libgomp/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libitm/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/x86_64-linux-gnu/libatomic/.libs:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./gcc:/opt/bw/build/gcc-14.2.0_linux_xeon.003/./prev-gcc
Execution timeout is: 300
spawn [open ...]
terminate called after throwing an instance of 'std::runtime_error'
what(): std::chrono::tzdb: cannot locate zone: Europe/London
FAIL: std/time/time_zone/get_info_local.cc -std=gnu++20 execution test
t$
OKay, so the timezone Europe/London is absent somewhere?
t$
t$ ls -l /usr/share/zoneinfo/Europe/London
-rw-r--r-- 1 root root 3664 Nov 23 14:04 /usr/share/zoneinfo/Europe/London
t$
Seems to exist on the machine.
So that is baffling.
I will drag out the others but I am guessing they all say "cannot
locate" some timezone data somehow.
terminate called after throwing an instance of 'std::runtime_error'
what(): std::chrono::tzdb: cannot locate zone: Europe/Zurich
FAIL: std/time/time_zone/get_info_sys.cc -std=gnu++20 execution test
Execution timeout is: 300
spawn [open ...]
/opt/bw/build/gcc-14.2.0/libstdc++-v3/testsuite/std/time/tzdb/1.cc:18:
void test_version(): Assertion 'db.version == remote_version()' failed.
FAIL: std/time/tzdb/1.cc -std=gnu++26 execution test
Hold the phone .... execution timeout ?
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken