I'm trying to update Git from my shared hosting. For that I'm following these steps:
- Download latest Git version
- Unpack and place it on the server
- Configure and create the Makefile ->
./configure --prefix=$HOME/dev/git/src --without-tcltk
- Build the package ->
make
thenmake install
- Update PATH .bash_profile
I'm stuck at point 4. When I run the make
command, I get the following:
user@ssh1:~/dev/git/src$ make
SUBDIR gitweb
SUBDIR ../
make[2]: ? GIT-VERSION-FILE ? est ? jour.
GEN git-instaweb
SUBDIR perl
SUBDIR git_remote_helpers
SUBDIR templates
MSGFMT po/build/locale/is/LC_MESSAGES/git.mo
/bin/sh: msgfmt: command not found
make: *** [po/build/locale/is/LC_MESSAGES/git.mo] Erreur 127
Compiler throws a msgfmt command not found
error.
I Googled it and it seems to be related to the gettext package.
Any idea how to fix that error on a shared hosting?
I had the same issue. Thanks to your work on finding it was related to gettext, a simple apt-get install gettext
fixed it for me.
While building Git with Xcode (using Makefile), I had to define NO_GETTEXT = YesPlease
in the Makefile to resolve this issue.
msgfmt
is included in the gettext-devel
cygwin package. Install that (via setup.exe or apt-cyg
) and the error should go away.
make -i
make -i install
..worked flawlessy for this problem. Also if anyone's having trouble with http/https helper, during configure do not forget to add the following thing
./configure --with-curl --with-expat
On cygwin, you need to install the gettext-devel package as well. The gettext package alone is not enough to resolve this problem.
You can install gettext in the same way you are installing git. By downloading, extracting, building and installing it to a given location in your home folder:
curl -O https://ftp.gnu.org/pub/gnu/gettext/gettext-0.20.1.tar.gz
tar xvf gettext-0.20.1.tar.gz
cd gettext-0.20.1/
./configure --prefix=/home/$HOME/opt
make
make install
Set the prefix to the location you want for the installation.
xgettext
, msgfmt
and etc. belong to GNU gettext
toolset. On macOS, you could use MacPort's port
command to install these tools on your system:
port install gettext
Try to add -i to your make command.
> make -i ...
来源:https://stackoverflow.com/questions/9500898/compiler-error-msgfmt-command-not-found