bug-coreutils
[Top][All Lists]
Advanced

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

Re: coreutils 7.6: --enable-nls fails


From: Martin Jacobs
Subject: Re: coreutils 7.6: --enable-nls fails
Date: Mon, 28 Dec 2009 19:05:22 +0100 (MET)

Hi,

It's solved. It's a nasty small bug in gettext.m4.

#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
#endif
changequote(,)dnl
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
changequote([,])dnl

This is always expanded to a negative array size which makes
configure exand like this:

[...]
checking whether to use NLS... no
[...]

This happens with all installations that have a libintl.h
missing macro __GNU_GETTEXT_SUPPORT_REVISION.

After changing this definition to

#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1)
#endif

configure was happy:

[...]
checking whether to use NLS... yes
[...]

and I get a full locale/*/*/* install tree.


I'll forward this issue to the gettext people.


On Sun, 15 Nov 2009, Martin Jacobs wrote:

> On Fri, 13 Nov 2009, Jim Meyering wrote:
>
> > Eric Blake wrote:
> > > According to Jim Meyering on 11/13/2009 9:58 AM:
> > >> Martin Jacobs wrote:
> > >> ...
> > >>> Back to coreutils, with that in mind I
> > >>> did change configure.ac:
> > >>>
> > >>>         AM_GNU_GETTEXT([external], [need-formatstring-macros])
> > >>>
> > >>> reads now
> > >>>
> > >>>         AM_GNU_GETTEXT([external], [need-ngettext])
> > >
> > > What about Bruno's comments here?
> > > http://lists.gnu.org/archive/html/bug-bison/2009-08/msg00006.html
> >
> > Thanks for pointing that out.
> > It looks like I didn't read enough.
> >
> > > Unlike bison, coreutils does indeed use formatstring macros (for example,
> > > dd.c).  Dropping the requirement to need-ngettext instead of
> > > need-formatstring-macros will cause crashes if those strings are ever
> > > translated.
> >
> > At least with gettext-0.17, it appears to work fine using
> > just-built/installed dd:
> >
> >     $ seq 99|LC_ALL=fr_FR.utf8 dd > /dev/null
> >     0+1 enregistrements lus
> >     0+1 enregistrements écrits
> >     288 octets (288 B) copiés, 9,5487e-05 s, 3,0 MB/s
> >
> > I suspect you'd have to build in an environment that has ngettext
> > support but that lacks formatstring macro support to elicit a crash.
> >
> > I'll probably revert my change.
> >
>
> Ok, I did play a little bit with all of that. So far,
> compiling with AM_GNU_GETTEXT([external], [need-ngettext])
> seems to work but gettext seems to be clever enough to ignore
> incompatible compilations offered in coreutils.mo. "My" new dd
> (from coreutils 7.6) gives me english messages although
> LC_MESSAGES is set to de_DE.
>
> So I've to go back to the root of the problem, that configure
> fails to detect need-formatstring-macros.
> [...]
>

Thanks for your support

Martin

-- 
Dipl-Ing. Martin Jacobs * Windsbach * address@hidden und
address@hidden * ICQ:153921785
Registered Linux User #87175, http://counter.li.org/




reply via email to

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