[Top][All Lists]
[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/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: coreutils 7.6: --enable-nls fails,
Martin Jacobs <=