On 12/6/24 14:24, Pádraig Brady wrote:
On 06/12/2024 07:13, Bernhard Voelker wrote:On 11/19/24 19:31, Pádraig Brady wrote:OK I've adjusted our test to use \u00032 instead,The bug report was talking about Macos only, but now I'm seeing this failure also on openSUSE for Leap 16.0 on x86_64 [1] and aarch64 [2]. Using coreutils-9.5 (which has gnulib 259829e78), glibc-2.40. [1] https://build.opensuse.org/public/build/Base:System/16.0/x86_64/coreutils/_log also saved/attached as 'cu-tests-printf-cov-x86_64.log.xz'. [2] https://build.opensuse.org/public/build/Base:System/16.0/aarch64/coreutils/_log also saved/attached as 'cu-tests-printf-cov-aarch64.log.xz'. Here an excerpt from the latter aarch64 build log: ... [ 93s] checking for iconv... yes [ 94s] checking for working iconv... no [ 94s] checking whether iconv is compatible with its POSIX signature... yes ... [ 376s] FAIL: tests/printf/printf-cov [ 376s] ============================= ... [ 376s] U-bad-hex... [ 376s] u4... [ 376s] printf: test u4: stdout mismatch, comparing u4.1 (expected) and u4.O (actual) [ 376s] *** u4.1 Thu Dec 5 21:06:59 2024 [ 376s] --- u4.O Thu Dec 5 21:06:59 2024 [ 376s] *************** [ 376s] *** 1 **** [ 376s] ! 0 [ 376s] \ No newline at end of file [ 376s] --- 1 ---- [ 376s] ! \u0030 [ 376s] \ No newline at end of file [ 376s] U8... [ 376s] printf: test U8: stdout mismatch, comparing U8.1 (expected) and U8.O (actual) [ 376s] *** U8.1 Thu Dec 5 21:06:59 2024 [ 376s] --- U8.O Thu Dec 5 21:06:59 2024 [ 376s] *************** [ 376s] *** 1 **** [ 376s] ! 0 [ 376s] \ No newline at end of file [ 376s] --- 1 ---- [ 376s] ! \u0030 [ 376s] \ No newline at end of file [ 376s] u-invalid... ... [ 376s] FAIL tests/printf/printf-cov.pl (exit status: 1) Is this an FP on more platforms than Macos now, or another issue like wrong iconv() selection?Interesting. Can you put some debugging code in unicode_to_mb() to indicate the path taken?
97 /* Test whether the utf8_to_local converter is available at all. */ 98 if (!is_utf8) 99 { 100 #if HAVE_ICONV 101 if (utf8_to_local == (iconv_t)(-1)) { 102 fprintf (stderr, "iconv function not usable: '%s'\n", callback_arg); 103 return failure (code, N_("iconv function not usable"), callback_arg); } 104 #else 105 fprintf (stderr, "iconv function not available: '%s'\n", callback_arg); 106 return failure (code, N_("iconv function not available"), callback_arg); 107 #endif 108 } We're running into "iconv function not available" (line 105) there. Compressed 'config.log' attached.
Perhaps this is a glibc-2.40 issue (I've only tested on 2.39 as of now).
I have other systems with glibc-2.40 already ... without a problem there. Have a nice day, Berny
config.log.xz
Description: application/xz