On Wed, Apr 29, 2026 at 7:38 AM Bruno Haible via Gnulib discussion list < [email protected]> wrote:
> Building diffutils from git with the newest gnulib, I see a test failure on > systems with recent-enough glibc (Ubuntu 22.04, CentOS 8, Alma Linux 9): > > > FAIL: test-mbrtoc32-regular > =========================== > > ../../gnulib-tests/test-mbrtoc32-regular.c:65: assertion 'mbsinit > (&state)' failed > FAIL test-mbrtoc32-regular (exit status: 134) > > > What triggers this test failure is a combination of: > 1) regex now depends on mbrtoc32-regular since 2026-04-24, therefore > this test gets included. (It was absent before.) > 2) diffutils/configure.ac has > gl_cv_func_mbrtoc32_C_locale_sans_EILSEQ="guessing yes" > which has the effect that on recent glibc versions (CentOS 8, Alma 9, > etc.) > REPLACE_MBRTOC32=0. > 3) There is no explicit configure test for whether mbrtoc32 is regular. > The assumption was that on glibc systems, REPLACE_MBRTOC32 would be 1, > but 2) prevents this. > > This patch fixes it. > > > 2026-04-29 Bruno Haible <[email protected]> > > mbrtoc32-regular: Strengthen the configure test. > * m4/mbrtoc32-regular.m4: New file. > * modules/mbrtoc32-regular (Files): Add it. > (configure.ac): Invoke gl_FUNC_MBRTOC32_REGULAR. > * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32): Set > gl_cv_func_mbrtoc32_regular. > If it's "no" or "guessing no", set REPLACE_MBRTOC32=1. Thanks for keeping on top of diffutils, too!
