我正在尝试从共享主机更新Git。为此,我遵循以下步骤:
./configure --prefix=$HOME/dev/git/src --without-tcltk
make
然后make install
我遇到了第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包有关。
知道如何解决共享主机上的错误吗?
答案 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 上,您可以使用MacPort的port
命令在系统上安装以下工具:
port install gettext
答案 8 :(得分:0)
在 Debian 10 中对我来说缺少软件包 gettext
。解决方法如下:
$ sudo apt install gettext
然后 make
突击队工作得很好。
答案 9 :(得分:-1)
尝试将 -i 添加到make命令中。
> make -i ...