[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the autotoo
From: |
Santiago Vila |
Subject: |
Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the autotools (fwd) |
Date: |
Wed, 5 Sep 2007 13:16:41 +0200 (CEST) |
Hello.
I received this from the Debian bug system:
---------- Forwarded message ----------
From: Emmanuel Fleury <address@hidden>
To: Debian Bug Tracking System <address@hidden>
Date: Fri, 03 Aug 2007 10:58:21 +0200
Subject: Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the
autotools
Resent-Sender: address@hidden
Package: gettext
Version: 0.16.1-2
Severity: normal
I'm 'flying' around a project using gettext and the autotools, recently
I've hit the following problem:
Making install in po
make[2]: Entering directory `bless/debian-pkg/bless-0.5.1/po'
/bin/sh @MKINSTALLDIRS@ bless/debian-pkg/bless-0.5.1/debian/bless/usr/share
/bin/sh: @MKINSTALLDIRS@: No such file or directory
make[2]: *** [install-data-yes] Error 127
make[2]: Leaving directory `bless/debian-pkg/bless-0.5.1/po'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `bless/debian-pkg/bless-0.5.1'
make: *** [common-install-impl] Error 2
debuild: fatal error at line 1228:
fakeroot debian/rules binary failed
It seems that the @MKINSTALLDIRS@ refuse to be substituted in the final
po/Makefile file where the original po/Makefile.in.in has been generated
by autopoint.
I saw a SUBST(MKINSTALLDIRS) in m4/nls.m4 but I have no idea if the
configure is executing it or not.
***This might be bug due to a misuse of gettext/autopoint !***
But, I didn't find anything wrong in the software itself until now...
See the bug-report on bless: https://gna.org/bugs/index.php?9660
-----------------------------------------------------------------------
Upon request from a kind reader (Daniel Leidert), he gave this
additional information:
-----------------------------------------------------------------------
From: Emmanuel Fleury <address@hidden>
To: Daniel Leidert <address@hidden>, address@hidden
Date: Fri, 03 Aug 2007 14:30:23 +0200
Subject: Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the
autotools
Daniel Leidert wrote:
>
> Did you re-run aclocal too? Did you check what happens, when you run
> autoreconf?
Sorry, I should have give more details... :-/
The autogen.sh script is as follow:
#!/bin/sh
autopoint
aclocal
automake -a
autoconf
When running autoreconf, it gives the exact same behavior (no
substitution of the @MKINSTALLDIRS@ variable).
>> I saw a SUBST(MKINSTALLDIRS) in m4/nls.m4 but I have no idea if the
>> configure is executing it or not.
>
> Well, look into aclocal.m4, which contains copies of all macros, that
> are used. Then you know, if MKINSTALLDIRS is replaced.
MKINSTALLDIRS appears only in these files (after autogen.sh being ran):
m4/gettext.m4: AC_REQUIRE([AM_MKINSTALLDIRS])dnl
m4/nls.m4:AC_DEFUN([AM_MKINSTALLDIRS],
m4/nls.m4: MKINSTALLDIRS=
m4/nls.m4:/*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
m4/nls.m4: *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
m4/nls.m4: if test -z "$MKINSTALLDIRS"; then
m4/nls.m4: MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
m4/nls.m4: AC_SUBST(MKINSTALLDIRS)
m4/po.m4: AC_REQUIRE([AM_MKINSTALLDIRS])dnl
po/Makefile.in.in:MKINSTALLDIRS = @MKINSTALLDIRS@
po/Makefile.in.in:mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
po/Makefile.in:MKINSTALLDIRS = @MKINSTALLDIRS@
po/Makefile.in:mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
po/Makefile:MKINSTALLDIRS = @MKINSTALLDIRS@
po/Makefile:mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-----------------------------------------------------------------------
And later:
-----------------------------------------------------------------------
From: Emmanuel Fleury <address@hidden>
Cc: address@hidden
Date: Fri, 03 Aug 2007 17:08:15 +0200
Subject: Bug#435798: gettext: Missing @MKINSTALLDIRS@ substitution in the
autotools
Some updates...
Looking at the m4/nls.m4 script:
AC_DEFUN([AM_NLS],
[
AC_MSG_CHECKING([whether NLS is requested])
dnl Default is enabled NLS
AC_ARG_ENABLE(nls,
[ --disable-nls do not use Native Language Support],
USE_NLS=$enableval, USE_NLS=yes)
AC_MSG_RESULT($USE_NLS)
AC_SUBST(USE_NLS)
])
AC_DEFUN([AM_MKINSTALLDIRS],
[
dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
dnl find the mkinstalldirs script in another subdir but $(top_srcdir).
dnl Try to locate it.
MKINSTALLDIRS=
if test -n "$ac_aux_dir"; then
case "$ac_aux_dir" in
/*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;;
*) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;;
esac
fi
if test -z "$MKINSTALLDIRS"; then
MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
fi
AC_SUBST(MKINSTALLDIRS)
])
**************************************************
I tried to call AM_MKINSTALLDIRS from the configure.ac before running
autoreconf and I got:
configure.ac:16: warning: macro `AM_MKINSTALLDIRS' not found in library
Where calling AM_NLS from configure.ac didn't ring a bell.
I have no valid explanation for it but this sounds really strange to me.
Regards
--
Emmanuel Fleury
I always pass on good advice. It is the only thing to do with it.
It is never of any use to oneself.
-- Oscar Wilde