bug-gnulib
[Top][All Lists]
Advanced

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

Gnulib and gettext conflicts?


From: Simon Josefsson
Subject: Gnulib and gettext conflicts?
Date: Mon, 03 Dec 2007 16:44:42 +0100
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (gnu/linux)

Hi!  We just received this report:

http://comments.gmane.org/gmane.comp.encryption.gpg.gnutls.devel/2439

The problem seems to be that the lib-link.m4 file included in the
gnutls*.tar.bz2 archive is the m4/lib-link.m4 rather than the
gl/m4/lib-link.m4.

The file from gettext was older than the gnulib version, and contained
some bugs fixed in gnulib.  So I'd like to make sure the gnulib copy is
used rather than the gettext version.

What tool is responsible for choosing which of multiple M4 files in the
paths is the one to be packaged by 'make dist'?  It seems only one of
them are used, so there must be some logic to prune off unwanted files.
I suspected the ordering of -I's in ACLOCAL_AMFLAGS but testing suggest
it doesn't have any effect (I could be wrong though).

This may be a general problem. The following files are installed by
gettextize into m4/ and is also distributed via gnulib:

codeset.m4
gettext.m4
glibc21.m4
glibc2.m4
iconv.m4
intdiv0.m4
intldir.m4
intl.m4
intmax.m4
inttypes_h.m4
inttypes-pri.m4
lcmessage.m4
lib-ld.m4
lib-link.m4
lib-prefix.m4
lock.m4
longlong.m4
nls.m4
po.m4
printf-posix.m4
progtest.m4
size_max.m4
stdint_h.m4
uintmax_t.m4
ulonglong.m4
visibility.m4
wchar_t.m4
wint_t.m4
xsize.m4

The same problem happens for these files: the gettext version is
included in the dist archive, instead of the gnulib copy.  Running a
diff on the files indicate substantial changes in the following files:
wint_t.m4, gettext.m4, iconv.m4, intdiv0.m4, intl.m4, lock.m4,
longlong.m4, printf-posix.m4, size_max.m4, and unlonglong.m4.

It thus seems gnulib inside gnutls ends up using the wrong M4 file for a
couple of tests.

I think I have two general questions here:

1) Is it guaranteed that replacing the gettext M4 files with those in
gnulib will work with the gettext version installed?

2) Is it guaranteed that replacing the gnulib M4 files with those in
gettext will work with other gnulib macros?

In other words, is there a hidden dependency between which gnulib and
gettext version I am using?

And of course the final question, what is the recommended way to handle
the code-overlap between gnulib and gettextize in a project?

Btw, I tried to install gettext 0.17 under /usr/local, but gettextize
didn't seem to install the *.m4 files from /usr/local anyway, instead I
got the lib-link file from /usr.  I don't want to break my debian
installation by over-writing files in /usr manually.  I'm thus using
gettext 0.16.1 until Debian bug 454124 is fixed.

/Simon




reply via email to

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