Eric Blake wrote: > 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 > within 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 > [2] http://git.sv.gnu.org/cgit/gettext.git/commit/gettext-tools/misc/autopoint.in?id=eea2dddde > > We found a workaround - fake the use of an intl subdirectory long > enough for autopoint to get what it wants from that fallback. This > workaround may eventually move upstream into gnulib's bootstrap; > when it does, we can remove the hack from libvirt's autogen.sh. > > * autogen.sh (bootstrap): Force autopoint to work even if autom4te > doesn't. > > Signed-off-by: Eric Blake <eblake@xxxxxxxxxx> > --- > > I tested that this doesn't fall apart on Fedora 19 when running > autogen.sh (autopoint 0.18.2, no autom4te wrapper), but would > like feedback from Roman that it works for his broken toolchain > setup. I'd also like feedback from gnulib whether we should > fold a similar fix into gnulib's bootstrap, instead of applying > this patch to libvirt. It works only when the submodule is not up to date. When running autogen.sh again it doesn't reach the 'else' clause you create intl/VERSION in, so it just runs autoreconf and fails with the same error. Also, I think we cannot do 'rmdir intl' because it's not empty (scripts copy over gettext sources there?), so it fails: rmdir: intl: Directory not empty > autogen.sh | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/autogen.sh b/autogen.sh > index 5aa1990..31e66c0 100755 > --- a/autogen.sh > +++ b/autogen.sh > @@ -88,9 +88,16 @@ if test -d .git || test -f .git; then > echo cleaning up submodules... > git submodule foreach 'git clean -dfqx && git reset --hard' > fi > + # work around broken BSD toolchain, where gettext 0.18.3 triggers > + # a bug with the autom4te wrapper script eating stdin unless > + # intl/VERSION exists, with contents comparable to configure.ac > + mkdir -p intl > + echo gettext-0.17 > intl/VERSION > echo running bootstrap$no_git... > ./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status \ > || { echo "Failed to bootstrap, please investigate."; exit 1; } > + rm intl/VERSION > + rmdir -p intl > fi > fi > > -- > 1.8.3.1 > Roman Bogorodskiy -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list