Git 编译器错误-找不到msgfmt命令
我正在尝试从共享主机更新Git。为此,我遵循以下步骤:Git 编译器错误-找不到msgfmt命令,git,compiler-errors,gettext,shared-hosting,msgfmt,Git,Compiler Errors,Gettext,Shared Hosting,Msgfmt,我正在尝试从共享主机更新Git。为此,我遵循以下步骤: 下载最新的Git版本 解包并将其放在服务器上 配置并创建Makefile->/Configure--prefix=$HOME/dev/git/src--not tcltk 构建包->make然后makeinstall 更新PATH.bash\u配置文件 我被困在第四点。当我运行make命令时,我得到以下信息: user@ssh1:~/dev/git/src$ make SUBDIR gitweb SUBDIR ../ make[2]: ?
/Configure--prefix=$HOME/dev/git/src--not tcltk
make
然后makeinstall
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命令未找到
错误
我在谷歌上搜索了一下,它似乎与gettext软件包有关
知道如何修复共享主机上的错误吗?我也有同样的问题。感谢您在查找它与gettext相关方面所做的工作,一个简单的
apt get install gettext
为我修复了它。在使用Xcode(使用Makefile)构建Git时,我必须在Makefile中定义NO\u gettext=YesPlease
,以解决此问题。尝试将-I添加到make命令中
>make-i…
make -i
make -i install
…在这个问题上做得很完美。另外,如果任何人在使用http/https帮助程序时遇到问题,请在配置过程中不要忘记添加以下内容
./configure --with-curl --with-expat
在cygwin上,还需要安装gettext-devel包。仅gettext包不足以解决此问题。
msgfmt
包含在gettext-devel
cygwin包中。安装它(通过setup.exe或apt cyg),错误应该会消失。您可以使用与安装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
将前缀设置为安装所需的位置。
xgettext
,msgfmt
等属于GNUgettext
工具集。在macOS上,您可以使用的端口
命令在系统上安装以下工具:
port install gettext
在Mac Os上,这对我很有用:
brew install gettext
在Debian 10中,我缺少包
gettext
。解决方法如下:
$sudo apt install gettext
然后
make
commando工作正常。快速破解:尝试“make-k”或“make-i”跳过编译,可能你会得到Git,但没有本地化和/或文档。你是对的,msgfmt对运行Git并不重要。“make-i”成功了,谢谢。对于OSX,你可以在这里找到答案,这应该是公认的答案;)这显然是最好的答案,然而,在cygwin上,安装gettext并没有帮助。可能存在版本问题?在共享主机上,这不是正确的答案,因为您没有sudo访问权限。@Lucas在cygwin上,从源代码/在没有root访问权限的系统上安装时,您需要gettext-devel for msgfmt(请参阅),在gettext
源根目录下的gettext工具
子目录中运行/configure&&make&&make install
。首选此选项,因为我无法安装gettext,-I(忽略错误)太愚蠢了make NO_GETTEXT=1
成功了。应该注意的是“-i”是“-ignore errors”的缩写,因此任何其他错误也将被忽略,并且可能会因为许多与GETTEXT相关的错误而被忽略。所以,如果没有其他办法,我应该是最后的选择。@Boris是的,这是一个错误的做法,但不是每个人都是黑客。很明显,您需要gettext-lib来消除错误。问题不在于Cygwingettext-devel也是centos 6的软件包
brew link gettext --force