GNOME Bugzilla – Bug 686886
configure doesn't catch missing msgfmt
Last modified: 2016-01-27 15:35:00 UTC
$ make install make[1]: Entering directory `/home/darxus/jhbuild.source/jhbuild/po' msgfmt -o ca.mo ca.po make[1]: msgfmt: Command not found make[1]: *** [ca.mo] Error 127 make[1]: Leaving directory `/home/darxus/jhbuild.source/jhbuild/po' make: *** [install] Error 2 Fixed with "sudo apt-get install gettext". I think configure should be throwing an error on this, instead of make install?
configure does check for msgfmt. JHBuild's configure.ac line 20: IT_PROG_INTLTOOL([0.40.0]) Then in /usr/share/aclocal/intltool.m4 line 122: AC_PATH_PROG(MSGFMT, msgfmt) The configure output looks like the following snippet: checking for perl >= 5.8.1... 5.14.2 checking for XML::Parser... ok checking for msgfmt... (cached) /usr/bin/msgfmt checking for gmsgfmt... (cached) /usr/bin/msgfmt checking for xgettext... (cached) /usr/bin/xgettext checking for msgmerge... (cached) /usr/bin/msgmerge Please reopen bug if I'm missing something.
But it doesn't fail when it doesn't find msgfmt?
It should fail if one of xgettext, msgmerge, msgfmt is not found. /usr/share/aclocal/intltool.m4 line 124: if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi
So why, when I tried to build it, did it fail with "msgfmt: Command not found", as mentioned above?
Can you attach your config.log? (the config.log for the failed run)
I have no config.log. I ran "sudo apt-get remove gettext", then... darxus@dancer:~/jhbuild.source/jhbuild$ git clean -xfd Removing Makefile Removing Makefile.inc darxus@dancer:~/jhbuild.source/jhbuild$ ./autogen.sh --prefix=$HOME/jhbuild gnome-autogen.sh not available yelp-tools not available Configuring jhbuild without autotools Now type `make' to compile jhbuild darxus@dancer:~/jhbuild.source/jhbuild$ make gcc -Wall -O2 -o install-check install-check.c Run "make install" to install. darxus@dancer:~/jhbuild.source/jhbuild$ make install make[1]: Entering directory `/home/darxus/jhbuild.source/jhbuild/po' msgfmt -o ca.mo ca.po make[1]: msgfmt: Command not found make[1]: *** [ca.mo] Error 127 make[1]: Leaving directory `/home/darxus/jhbuild.source/jhbuild/po' make: *** [install] Error 2 darxus@dancer:~/jhbuild.source/jhbuild$ ls config.log ls: cannot access config.log: No such file or directory And re-installing gettext and starting over works.
Ahh. I see what is happening now. Yes, there is a bug there.
Created attachment 244582 [details] [review] Set DISABLE_GETTEXT in Makefile.inc Pretty easily fixed -- or worked around: Just set DISABLE_GETTEXT=yes in the environment. The patch sets it in Makefile.inc, so the user doesn't have to.
Going over old bug reports I have now applied this...