Ошибка устаревшей версии пакета, хотя она обновлена ​​вручную

Я строю проект 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 <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)

Почему это дает эту устаревшую ошибку?

3 ответа

Решение

Обновление autopoint решает проблему.

Просто обновить gettext до последней версии. Чтобы обновить его вручную, загрузите и установите gettext с https://ftp.gnu.org/gnu/gettext/.

Я вижу эту ошибку, когда пытаюсь запустить./autogenв этом репо: 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

Видимо надо обновить.

Проверено на 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: использование файла Makefile.in.in из версии gettext... но макросы Autoconf взяты из версии gettext..., это означает, что был выпущен новый выпуск GNU gettext. сделан, а его макросы Autoconf были интегрированы в Gnulib и теперь не соответствуют инфраструктуре po/. В этом случае скачайте и установите новую версию GNU gettext и запустите gettextize, а затем gnulib-tool.

Как обновить:

      # 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в терминале, отличном от того, который вы построили, запустите. ~/.profileсначала в этом другом терминале или закройте и снова откройте его, чтобы сделать новую версиюgettextдоступный.

Другие вопросы по тегам