Outdated package version error even though manually updated it

I am building a GNOME project. When I run autogen.sh it gives me error about outdated 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

I have upgraded this package manually since I use 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 <ubuntu-devel-discuss@lists.ubuntu.com>
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)

Why is it giving this outdated error?

Asked By: Nidhi Gupta

||

Updating autopoint solves the problem.

Answered By: Nidhi Gupta

Just update gettext to the latest version. To update it manually, download and install gettext from https://ftp.gnu.org/gnu/gettext/.

Answered By: Ali Rizwi

I’m seeing this error when I try to run ./autogen in this 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

Apparently I need to update gettext.

Tested on Ubuntu 20.04.

sudo apt install gettext installs only version 0.19.8.1-10build1. So, we will need to manually update it.

From: https://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html

If you get an error message like *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version … but the Autoconf macros are from gettext version …, it means that a new GNU gettext release was made, and its Autoconf macros were integrated into Gnulib and now mismatch the po/ infrastructure. In this case, fetch and install the new GNU gettext release and run gettextize followed by gnulib-tool.

How to update gettext:

# check your current version. I see `gettext (GNU gettext-runtime) 0.19.8.1`
gettext --version

Go here: https://www.gnu.org/software/gettext/ –> "Downloading" section –> find the latest download URL right there. It will be used below:

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

Note: if testing gettext --version in a different terminal from the one you built gettext in, run . ~/.profile in that different terminal first, or close and reopen it, to make the new version of gettext accessible.

Answered By: Gabriel Staples
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.