Maintainer mode: wrong gettext version?

Tsukasa OI research_trasio@irq.a4lg.com
Thu Sep 8 04:04:27 GMT 2022


Hello all (especially maintainers),

I was testing the maintainer mode to dig down build pipeline on
Binutils/GDB and found something strange.

According to README-maintainer-mode, enabling maintainer mode requires
following versions:

-   autoconf 2.69
-   automake 1.15.1
-   libtool 2.2.6
-   gettext 0.14.5

I tried to use the maintainer mode with Ubuntu 22.04.1 LTS (default
toolchain) with "/opt/maint-mode" to install older versions of the
software above.

Autoconf, Automake and Libtool were fine.  But I don't think Gettext
0.14.5 is the correct version.  Here's some proofs:

-   On "intl" and "libiberty", "aclocal.m4" does not have a macro
   "AC_ISC_POSIX" which is required by gettext < 0.15.
    If the build files are really built with gettext 0.14.5,
    files "{libiberty,intl}/{configure,aclocal.m4}" must have some
    traces of "AC_ISC_POSIX" but there's none in the master branch.
    That indicates that the true version of gettext is >= 0.15.
-   On gettext < 0.16, rebuilding the message files fail because
    msgfmt cannot parse lines starting with "#~|" (this syntax got
    acceptable since gettext >= 0.16).
    That suggests that the true version of gettext is >= 0.16.

And the following fact narrows the possibility even further:

-   On gettext >= 0.17, regenerated "gnulib/{aclocal.m4,configure}"
    result in different files (macros including "AM_PO_SUBDIRS" are
    copied to "gnulib/aclocal.m4").

Unless I miss something, I must conclude that the correct version of
gettext is either:

-   0.16
-   0.16.1

note: this assumes that we have consistent gettext version when...
-   regenerating ALL the build files and
-   building with the maintainer mode

Did I miss something?  Or do we need to change README-maintainer-mode to
update the version of gettext?

Thanks,
Tsukasa


More information about the Binutils mailing list