After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 686886 - configure doesn't catch missing msgfmt
configure doesn't catch missing msgfmt
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks: 700371
 
 
Reported: 2012-10-25 19:47 UTC by Darxus
Modified: 2016-01-27 15:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Set DISABLE_GETTEXT in Makefile.inc (982 bytes, patch)
2013-05-17 21:01 UTC, John Ralls
none Details | Review

Description Darxus 2012-10-25 19:47:31 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?
Comment 1 Craig Keogh 2012-10-30 01:14:07 UTC
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.
Comment 2 Darxus 2012-10-30 01:20:09 UTC
But it doesn't fail when it doesn't find msgfmt?
Comment 3 Craig Keogh 2012-10-30 10:38:23 UTC
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
Comment 4 Darxus 2012-10-30 14:09:04 UTC
So why, when I tried to build it, did it fail with "msgfmt: Command not found", as mentioned above?
Comment 5 Craig Keogh 2012-10-31 00:10:52 UTC
Can you attach your config.log? (the config.log for the failed run)
Comment 6 Darxus 2012-11-02 00:32:38 UTC
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.
Comment 7 Craig Keogh 2012-11-02 03:01:30 UTC
Ahh. I see what is happening now. Yes, there is a bug there.
Comment 8 John Ralls 2013-05-17 21:01:07 UTC
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.
Comment 9 Frederic Peters 2016-01-27 15:35:00 UTC
Going over old bug reports I have now applied this...