it-swarm.dev

编译器错误 - 找不到msgfmt命令

我正在尝试从我的共享主机更新Git。为此,我遵循以下步骤:

  1. 下载最新的Git版本
  2. 打开包装并将其放在服务器上
  3. 配置并创建Makefile - > ./configure --prefix=$HOME/dev/git/src --without-tcltk
  4. 构建包 - > make然后make install
  5. 更新PATH .bash_profile

我遇到了第4点。当我运行make命令时,我得到以下内容:

[email protected]:~/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

编译器抛出msgfmt command not found错误。

我用Google搜索它,它似乎与gettext包有关。

知道如何在共享主机上修复该错误吗?

55
John

我遇到过同样的问题。感谢你找到它的工作与gettext相关,一个简单的apt-get install gettext为我修复了它。

147
Bob F.

在使用Xcode构建Git(使用Makefile)时,我必须在Makefile中定义NO_GETTEXT = YesPlease来解决此问题。

18
Max Leske

msgfmt包含在gettext-devel cygwin包中。安装(通过setup.exe或apt-cyg),错误应该消失。

17
Manbeardo
make -i
make -i install

..为这个问题做了完美的工作。此外,如果任何人遇到http/https帮助器的问题,在配置期间不要忘记添加以下内容

./configure --with-curl --with-expat
3
Vijay Kumar Kanta

在cygwin上,您还需要安装gettext-devel包。单独的gettext包不足以解决此问题。

2
ads1690