#786885 Broken gettext check in the build system of bison

Package:
bison
Source:
bison
Description:
YACC-compatible parser generator
Submitter:
Szabolcs Nagy
Date:
2023-06-17 23:27:02 UTC
Severity:
normal
#786885#5
Date:
2015-05-26 12:46:06 UTC
From:
To:
When building bison on a musl libc based system, creating
the package fails because it incorrectly assumes that the
libc has no gettext support.

The bison configure.ac uses

 AM_GNU_GETTEXT([external], [need-ngettext])

which ends up checking for glibc internal symbols
_nl_msg_cat_cntr and _nl_domain_bindings instead of just
checking for the API in use (gettext and ngettext).

This issue is reported upstream at
http://lists.gnu.org/archive/html/bug-gettext/2015-04/msg00002.html

More discussions at the musl-libc mailing list:
http://www.openwall.com/lists/musl/2015/04/16/3

This matters for rebootstrap cross compiled build of bison,
might affect other packages too.

To fix it, remove _nl_* checks from m4/gettext.m4.

#786885#10
Date:
2019-03-08 06:03:24 UTC
From:
To:
Control: clone -1 -2
Control: reassign -2 gettext
Control: retitle -2 broken gettext check in gettext.m4
Control: tags -2 + upstream
Control: affects -2 + src:attr

This actually holds for the copy of gettext.m4 as shipped by gettext it
self.

Yes please. Alternatively, if AM_GNU_GETTEXT is really meant to exclude
non-GNU implementations, please add some AM_ANY_GETTEXT macro such that
we can easily switch all Debian consumers to a portable version.

Helmut

#786885#17
Date:
2023-06-17 23:13:56 UTC
From:
To:
The issue was fixed through
https://git.savannah.gnu.org/gitweb/?p=gettext.git;a=commitdiff;h=b67399b40bc5bf3165b09e6a095ec941d4b30a97
and is thus contained in gettext-0.19.8 and newer.

The *gettext functions in musl libc work seamlessly with .mo files
produced by msgfmt 0.22 or newer, except for the 'I' flag in format
strings, that musl libc does not support.

Bruno