我在运行 Armbian 的 ARM 开发板上从源代码构建 Git 时遇到问题。 Armbian 是 Ubuntu Bionic 的衍生产品。 Git 在make test
配方上失败了。
make[1]: Leaving directory '/home/build/git-2.21.0/templates'
mkdir -p po/build/locale/pt_PT/LC_MESSAGES/ && msgfmt --check --statistics -o po/build/locale/pt_PT/LC_MESSAGES/git.mo po/pt_PT.po
/bin/sh: 1: msgfmt: not found
Makefile:2533: recipe for target 'po/build/locale/pt_PT/LC_MESSAGES/git.mo' failed
make: *** [po/build/locale/pt_PT/LC_MESSAGES/git.mo] Error 127
但:
$ apt-cache search msgfmt
libdist-zilla-plugin-localemsgfmt-perl - Dist::Zilla plugin to compile PO files with Locale::Msgfmt
liblocale-msgfmt-perl - pure Perl reimplementation of msgfmt
和:
$ apt-cache policy liblocale-msgfmt-perl
liblocale-msgfmt-perl:
Installed: 0.15-1
Candidate: 0.15-1
然而:
$ command -v msgfmt
$
hash -r
并没有明确问题。我的其他机器上不存在这个问题,包括 Ubuntu 和 Fedora 机器。
有什么问题以及如何解决它?
答案1
$ apt-file search bin/msgfmt
gettext: /usr/bin/msgfmt
$ sudo apt install gettext
msgfmt
是其一部分gettext
。
dpkg -L liblocale-msgfmt-perl
将显示它liblocale-msgfmt-perl
不提供msgfmt
命令(这确实使其描述具有误导性)。
apt-cache search msgfmt
找不到,gettext
因为gettext
包的描述没有提到它:
Description: GNU Internationalization utilities
Interesting for authors or maintainers of other packages or programs
which they want to see internationalized.