Hi Keith,
Keith Thompson <[email protected]> writes:
> I built coreutils v9.12 from the git repo on Ubuntu 26.04.1.
> Three tests failed with "make check":
>
> $ grep FAIL tests/test-suite.log
> # XFAIL: 0
> # FAIL: 3
> FAIL: tests/cksum/sum-sysv
> FAIL tests/cksum/sum-sysv.sh (exit status: 1)
> FAIL: tests/cp/copy-FMR
> FAIL tests/cp/copy-FMR.sh (exit status: 1)
> FAIL: tests/cp/sparse-extents-2
> FAIL tests/cp/sparse-extents-2.sh (exit status: 1)
>
> System information:
>
> $ uname -a
> Linux bomb20 7.0.0-38-generic #38-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep
> 4 09:10:14 UTC 2026 x86_64 GNU/Linux
> $ cat /etc/lsb-release
> DISTRIB_ID=Ubuntu
> DISTRIB_RELEASE=26.04
> DISTRIB_CODENAME=resolute
> DISTRIB_DESCRIPTION="Ubuntu 26.04.1 LTS"
Thanks for the report.
Looking at the parts that fail. For tests/cksum/sum-sysv.sh:
+ perl -e 'use warnings'
+ perl -e '$s = chr(255) x 65537; foreach (1..257) {print $s}'
+ sum -s
+ cat
+ compare exp out
+ compare_dev_null_ exp out
+ test 2 = 2
+ test xexp = x/dev/null
+ test xout = x/dev/null
+ return 2
+ case $? in
+ compare_ exp out
+ LC_ALL=C
+ diff -u exp out
--- exp 2026-10-04 22:00:21.770375228 -0700
+++ out 2026-10-04 22:00:21.768375204 -0700
@@ -1 +1 @@
-65535 32897
+1798 65794
For tests/cp/copy-FMR.sh:
+ perl -e 'for (1..600) { sysseek (*STDOUT, 4096, 1)' -e '&& syswrite
(*STDOUT, "a" x 1024) or die "$!"}'
syswrite() isn't allowed on :utf8 handles at -e line 1.
+ fail=1
And for tests/cp/sparse-extents-2.sh:
+ perl -e '$n = 1 * 1024; *F = *STDOUT;' -e 'for (1..1) { sysseek (*F, $n,
1)' -e '&& syswrite (*F, chr($_)x$n) or die "$!"}'
syswrite() isn't allowed on :utf8 handles at -e line 2.
+ fail=1
So, thankfully, I don't think these are actual issues. Do you have the
PERL_UNICODE environment variable defined? I could reproduce the errors
by running this:
$ PERL_UNICODE=S make -j 16 check
You can also see the difference like this:
$ printenv PERL_UNICODE
$ perl -e 'print join ("\n", PerlIO::get_layers (STDOUT)) . "\n"'
unix
perlio
$ PERL_UNICODE=S perl -e 'print join ("\n", PerlIO::get_layers (STDOUT)) .
"\n"'
unix
perlio
utf8
If not, perhaps there is another way to get this behavior?
Collin