bug-gettext
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gettext] Missing msgfmt


From: Bruno Haible
Subject: Re: [bug-gettext] Missing msgfmt
Date: Fri, 18 Oct 2024 21:39:51 +0200

In the thread that started at
<https://mail.gnu.org/archive/html/bug-gettext/2013-07/msg00008.html>
and then continued at
<https://lists.gnu.org/archive/html/bug-gettext/2021-04/msg00004.html>,
Krzysztof Żelechowski wrote:

> > > I am using AM_GNU_GETTEXT macro in my configure.ac. I note during
> > > configure time that there does appear to be a check for msgfmt, but no
> > > error is raised if the binary is not detected.
> > 
> > Usually, tarballs include generated *.gmo so msgfmt shouldn't be
> > required on the deployed system.
> 
> But not when you build from *git*.  If *msgfmt* is not installed, it is 
> assumed that it will never be called by *make*.  If that is not the case, it 
> should be replaced by a meaningful failing assertion, not by *:*.  Otherwise 
> you get the following confusing error from make:
> 
> > mv: cannot stat 't-ar.gmo': No such file or directory

Yes, it is frequent that building from git requires more tools to be present
than building a tarball. These tools are typically listed in the HACKING file.

So, that would be my recommendation: Add to the HACKING file a note that
these need to be installed:

* GNU gettext
  + Homepage:
    https://www.gnu.org/software/gettext/
  + Pre-built package name:
    - On Debian and Debian-based systems: gettext,
    - On Red Hat distributions: gettext-devel.
    - Other: https://repology.org/project/gettext/versions

* GNU libiconv
  + Not needed on systems with glibc and on NetBSD.
    But highly recommended on all other systems.
    Needed for character set conversion of PO files from/to Unicode
    and for the iconv_ostream class of libtextstyle.
  + Homepage:
    https://www.gnu.org/software/libiconv/
  + Download:
    https://ftp.gnu.org/gnu/libiconv/
  + Pre-built package name:
    - On Debian and Debian-based systems: --,
    - On Red Hat distributions: --.
    - Other: https://repology.org/project/libiconv/versions
  + If it is installed in a nonstandard directory, pass the option
    --with-libiconv-prefix=DIR to 'configure'.
  + On mingw, a slim alternative is the 'win-iconv' package version 0.0.8
    from https://github.com/win-iconv/win-iconv .

We set msgfmt to ':' at configure time, so that tarballs can be built
_without_ this requirement to have gettext installed. If we were to
change that, to get a better error message for users who build from git,
it would be a serious regression for users who build the tarball.

Bruno






reply via email to

[Prev in Thread] Current Thread [Next in Thread]