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