Subject: libintl and GNU configure
To: None <>
From: Patrick Welche <>
List: current-users
Date: 12/25/2000 17:48:54
It seems that GNU configure looks for the internal symbol

  extern int _nl_msg_cat_cntr;

to see whether or not libintl has the GNU gettext or not - should that
symbol be added to our libintl to fool it? (..and why not..)

If anyone cares (don't have pkgsrc handy to check) about make-3.79.1:

--- configure.orig	Mon Dec 25 12:20:15 2000
+++ configure	Mon Dec 25 13:13:08 2000
@@ -2528,7 +2528,7 @@
     # Check whether --with-included-gettext or --without-included-gettext was given.
 if test "${with_included_gettext+set}" = set; then
-  with_included_gettext=yes
+  with_included_gettext=$withval
@@ -2688,6 +2688,8 @@
 rm -f conftest*
+# XXX to ignore the above test for an internal symbol:
 echo "$ac_t""$pds_cv_system_gnu_gettext" 1>&6

The first part of the patch is an error in configure - it sets
--without-included-gettext == --with-included-gettext
The second is to avoid the _nl_msg_cat_cntr check

--- getopt.c.orig	Mon Dec 25 12:35:45 2000
+++ getopt.c	Mon Dec 25 13:43:38 2000
@@ -79,9 +79,13 @@
 # endif
+# include <libintl.h>
 /* This is for other GNU distributions with internationalized messages.
    When compiling libc, the _ macro is predefined.  */
-#include "gettext.h"
+# include "gettext.h"
 #define _(msgid)    gettext (msgid)

and this last patch "works for me", but I'm not convinced that gettext() is
always defined in libintl..

and just to show that it works:

         -lutil.5 => /usr/lib/
         -lkvm.5 => /usr/lib/
         -lintl.0 => /usr/lib/
         -lc.12 => /usr/lib/
% env LANGUAGE=fr gmake foo
gmake: *** Pas de règle pour fabriquer la cible `foo'. Arrêt.

(Ca marche!)

(bison 1.28 fails to find dcgettext as it doesn't -lintl even though it
knows to look for gettext in -lintl)

Joyeux Noel,