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

时间:2012-02-29 14:28:56

标签: git compiler-errors gettext shared-hosting msgfmt

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

  1. 下载最新的Git版本
  2. 打开包装并将其放在服务器上
  3. 配置并创建Makefile - > ./configure --prefix=$HOME/dev/git/src --without-tcltk
  4. 构建包 - > make然后make install
  5. 更新路径.bash_profile
  6. 我遇到了第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
    

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

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

    知道如何解决共享主机上的错误吗?

10 个答案:

答案 0 :(得分:147)

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

答案 1 :(得分:18)

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

答案 2 :(得分:17)

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

答案 3 :(得分:3)

make -i
make -i install

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

./configure --with-curl --with-expat

答案 4 :(得分:2)

在cygwin上,您还需要安装gettext-devel软件包。仅凭gettext包不足以解决此问题。

答案 5 :(得分:1)

在Mac OS上,这对我有用:

model
brew install gettext

答案 6 :(得分:0)

您可以以与安装git相同的方式安装gettext。通过下载,提取,构建并将其安装到主文件夹中的给定位置:

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

将前缀设置为您要安装的位置。

答案 7 :(得分:0)

xgettext msgfmt 等都属于GNU gettext工具集。在 macOS 上,您可以使用MacPortport命令在系统上安装以下工具:

port install gettext

答案 8 :(得分:0)

在 Debian 10 中对我来说缺少软件包 gettext。解决方法如下:

$ sudo apt install gettext

然后 make 突击队工作得很好。

答案 9 :(得分:-1)

尝试将 -i 添加到make命令中。

> make -i ...