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

Joh*_*ohn 57 git shared-hosting compiler-errors gettext 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命令时,我得到以下内容:

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
Run Code Online (Sandbox Code Playgroud)

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

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

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

Bob*_* F. 154

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

  • 对于没有sudo访问权限的共享主机,这不是正确的答案. (6认同)
  • 这应该加入答案;) (4认同)
  • @Lucas在cygwin上你需要gettext-devel for msgfmt(参见[这个有用的答案](http://stackoverflow.com/a/22159893/602119)) (2认同)

Max*_*ske 18

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

  • 首选,因为我无法安装gettext,而-i(忽略错误)只是愚蠢!`make NO_GETTEXT = 1`做了伎俩. (14认同)

Man*_*rdo 16

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


lud*_*ico 6

在 Mac Os 上,这对我有用:

brew install gettext
Run Code Online (Sandbox Code Playgroud)
brew link gettext --force
Run Code Online (Sandbox Code Playgroud)