[Top][All Lists]

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

[PATCHv2] bootstrap: warn about BSD toolchain snafu

From: Eric Blake
Subject: [PATCHv2] bootstrap: warn about BSD toolchain snafu
Date: Wed, 4 Dec 2013 13:12:50 -0700

With my help on IRC, Roman Bogorodskiy identified a bug where the
BSD autoconf wrapper script eats stdin[1], which in turn causes
autopoint from gettext 0.18.3 to fail to find AM_GNU_GETTEXT_VERSION
out of configure.ac[2], with this error:

./bootstrap: autopoint --force
autopoint: *** Missing version: please specify in configure.ac through a line 
'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using

[1] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184479

The workaround would be painful to automate (because gettext
hardcodes the use of autom4te rather than honoring ${AUTOM4TE},
we'd have to create a temporary wrapper earlier in $PATH that
forwards to the real autom4te-x.yz - basically, repeating the
logic of what a wrapper script was supposed to do).  Further,
while the broken autom4te definitely hurts gettext 0.18.3, it
tends to have no issues with gettext 0.18.2; and since the
problem has been identified, it will not be long before fixed
autom4te and/or improved gettext that is not so stubborn
about using exactly 'autom4te' will be available.  Therefore,
for now we just warn about the situation.

* build-aux/bootstrap: Alert users to a broken autom4te.

Signed-off-by: Eric Blake <address@hidden>
 build-aux/bootstrap | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/build-aux/bootstrap b/build-aux/bootstrap
index e31d17d..25d15b4 100755
--- a/build-aux/bootstrap
+++ b/build-aux/bootstrap
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Print a version string.
-scriptversion=2013-08-15.22; # UTC
+scriptversion=2013-12-04.19; # UTC

 # Bootstrap this package from checked-out sources.

@@ -551,6 +551,14 @@ if ! printf "$buildreq" | check_versions; then

+# Warn the user if autom4te appears to be broken; this causes known
+# issues with at least gettext 0.18.3.
+probe=$(echo 'm4_echo([hi])' | autom4te -l M4sugar -t 'm4_echo:$%' -)
+if test "x$probe" != xhi; then
+  warn_ "WARNING: your autom4te wrapper eats stdin;"
+  warn_ "if bootstrap fails, consider upgrading your autotools"
 echo "$0: Bootstrapping from checked-out $package sources..."

 # See if we can use gnulib's git-merge-changelog merge driver.

reply via email to

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