我正在构建一个 GNOME 项目。当我运行 autogen.sh 时,它给出了有关 gettext 过时的错误。
nidhi@nidhi:~/gnome-calendar$ ./autogen.sh
autoreconf: Entering directory .
autoreconf: running: autopoint --force
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
file requires the infrastructure from gettext-0.19.8 but this version
is older. Please upgrade to gettext-0.19.8 or newer.
autopoint: *** Stop.
autoreconf: autopoint failed with exit status: 1
由于我使用的是 Ubuntu 16.04,所以我手动升级了这个包。
nidhi@nidhi:~/gnome-calendar$ dpkg -s gettext
Package: gettext
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 4236
Maintainer: Ubuntu Developers <[email protected]>
Architecture: amd64
Multi-Arch: foreign
Version: 0.19.8.1-1ubuntu2
Depends: libc6 (>= 2.17), libcroco3 (>= 0.6.2), libgomp1 (>= 4.9), libtinfo5 (>= 6), libunistring0, libxml2 (>= 2.9.1), gettext-base, dpkg (>= 1.15.4) | install-info
Recommends: curl | wget | lynx-cur
Suggests: gettext-doc, autopoint, libasprintf-dev, libgettextpo-dev
Breaks: autopoint (<= 0.17-11)
为什么会出现这个过时的错误?
答案1
更新autopoint
可解决问题。
答案2
只需更新gettext
到最新版本即可。要手动更新,请gettext
从以下位置下载并安装https://ftp.gnu.org/gnu/gettext/。
答案3
./autogen
当我尝试在此 repo 中运行时看到此错误:https://github.com/libyal/libfsapfs
libfsapfs$ ./autogen.sh
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
file requires the infrastructure from gettext-0.21 but this version
is older. Please upgrade to gettext-0.21 or newer.
autopoint: *** Stop.
autoreconf: autopoint failed with exit status: 1
显然我需要更新gettext
。
在 Ubuntu 20.04 上测试。
sudo apt install gettext
仅安装版本0.19.8.1-10build1
。因此,我们需要手动更新它。
从:https://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
如果您收到类似 *** 错误:gettext 基础结构不匹配:使用 gettext 版本中的 Makefile.in.in ... 但 Autoconf 宏来自 gettext 版本 ... 的错误消息,则意味着已发布新的 GNU gettext 版本,并且其 Autoconf 宏已集成到 Gnulib 中,现在与 po/ 基础结构不匹配。在这种情况下,获取并安装新的 GNU gettext 版本,然后运行 gettextize,然后运行 gnulib-tool。
如何更新gettext
:
# check your current version. I see `gettext (GNU gettext-runtime) 0.19.8.1`
gettext --version
到这里:https://www.gnu.org/software/gettext/--> “下载”部分 --> 在那里找到最新的下载 URL。它将在下面使用:
wget https://ftp.gnu.org/pub/gnu/gettext/gettext-0.21.1.tar.gz
tar -xf gettext-0.21.1.tar.gz
cd gettext-0.21.1
time ./configure
time make # took my computer about 4 minutes
sudo make install
. ~/.profile
# check your version to make sure it updated! I now see
# `gettext (GNU gettext-runtime) 0.21.1`
gettext --version
注意:如果gettext --version
在与内置终端不同的终端中测试gettext
,. ~/.profile
请先在该不同的终端中运行,或者关闭并重新打开它,以使新版本gettext
可访问。