bug-gnu-utils
[Top][All Lists]
Advanced

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

Re: Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the aut


From: Bruno Haible
Subject: Re: Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the autotools (fwd)
Date: Fri, 7 Sep 2007 02:09:17 +0200
User-agent: KMail/1.5.4

Emmanuel Fleury wrote:
> 1) Get the sources of Bless (http://home.gna.org/bless/):
> http://download.gna.org/bless/bless-0.5.2.tar.gz

Thanks, that was the most important missing piece of information.

Daniel Leidert wrote:
> The used po/Makefile.in.in is not
> compatible to the gettext version/macros used - the gettext macros do
> not define MKINSTALLDIRS anymore (at least not mine on Debian Sid :)). I
> guess the reason, why you get the outdated po/Makefile.in.in is the
> AM_GNU_GETTEXT_VERSION(0.14) macro in configure.ac, that copies the
> po/Makefile.in.in from the version 0.14 into po/. But the macros were
> not copied into m4/ and it seems, the macros of a newer gettext version
> were "copied" into aclocal.m4 ("[..] # gettext.m4 serial 59
> (gettext-0.16.1) [..]", probably done via aclocal). So the reason for
> your problem is probably the way, the distribution tarball is prepared
> (I tested both, autopoint and gettextize and both copy the m4/
> sub-directory).

Yes. And MKINSTALLDIRS was used in gettext versions < 0.15 and was dropped
in 0.15.

> So sorry, no idea how the po/Makefile.in.in from version
> 0.14 and the gettext macros from version 0.16.1 in aclocal.m4 came
> together in the same tarball.

It came through the autogen.sh script: He calls
  autopoint
which puts gettext-0.14 infrastructure into po/ and m4/.
Then he calls
  aclocal
(not "aclocal -I m4" !), thus ignoring the macros in m4/ and taking instead
those from /usr/share/aclocal/. Finally in his Makefile.am he has omitted
the 'm4' directory from SUBDIRS and DIST_SUBDIRS, making diagnosis of the
problem more difficult.

> @Bruno: Do you know, how that could happen?

Well, someone did not read the gettextize output. When I run gettextize
once (as if I were the maintainer), I get this output:

  Please run 'aclocal -I m4' to regenerate the aclocal.m4 file.
  You need aclocal from GNU automake 1.9 (or newer) to do this.
  Then run 'autoconf' to regenerate the configure file.

  You might also want to copy the convenience header file gettext.h
  from the /packages/gnu/share/gettext directory into your package.
  It is a wrapper around <libintl.h> that implements the configure --disable-nls
  option.

  Press Return to acknowledge the previous two paragraphs.

It says to run 'aclocal -I m4'.

And another factor was the availability of the gettext macros in
/usr/share/aclocal/. Should I change gettext to no longer install macros
there? So that people are forced to use 'autopoint' and then 'aclocal -I m4'.
OTOH, I don't like to force people into a certain direction...

Bruno





reply via email to

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