尽管手动更新了软件包,但仍然出现版本过期错误

尽管手动更新了软件包,但仍然出现版本过期错误

我正在构建一个 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可访问。

相关内容