Как исправить ошибку «PKG_PROG_PKG_CONFIG: команда не найдена»?

12

У меня Ubuntu 13.10 32 битная система. Недавно, когда я пытаюсь скомпилировать, запустив, ./autogen.shи ./configureя получаю

 PKG_PROG_PKG_CONFIG: command not found

ошибка. Я libtoolустановил. У меня есть три файла aclocal в, usr/share/как alocal, aclocal-1.13иaclocal-1.4

Как я могу исправить эту локальную ошибку?

РЕДАКТИРОВАТЬ:

Некоторое время назад я скомпилировал последнюю версию automake из исходного кода и установил ее, потому что исходному коду требовалась последняя версия automake для запуска процесса настройки. С тех пор всякий раз, когда я запускаю стандартные ./autogenи /configureкоманды в исходном каталоге для генерации, makefileя получаю

  PKG_PROG_PKG_CONFIG: command not found

ошибка

  find /usr -name "pkg.m4"

дает мне

  /usr/share/aclocal/pkg.m4

и

  aclocal --print-ac-dir

дает мне

  /usr/local/share/aclocal
кенна
источник
это pkg-configустановленный пакет? существует ли файл /usr/share/aclocal/pkg.m4в вашей системе?
Steeldriver
Что вы пытаетесь скомпилировать?
Jobin
@steeldriver find /usr -name "pkg.m4"дает мне/usr/share/aclocal/pkg.m4
Кенн
@Jobin Я пытаюсь скомпилировать это: codeload.github.com/blazt/submarine/zip/master
KENN
Что aclocal --print-ac-dirговорит?
Steeldriver

Ответы:

17

PKG_PROG_PKG_CONFIGПеременная ссылается на макрос , pkg.m4который предоставляется в рамках пакета PKG-конфигурации, поэтому первое , что нужно проверить, что установлен PKG-конфигурации , и что макро - файл находится в папке по умолчанию (и читается, конечно)

dpkg -l pkg-config

ls -l /usr/share/aclocal/pkg.m4

Если это подтвердится, то возникает вопрос, почему aclocalне найти его? Вы можете проверить, где aclocalнастроен поиск сторонних файлов m4, используя --print-ac-dirпереключатель, т.е.

aclocal --print-ac-dir

Если это не то же самое, что и расположение выше, это говорит о том, что в вашей системе есть нестандартная версия automake - если вы не можете решить эту проблему, то возможный обходной путь - установить или экспортировать ACLOCAL_PATHпеременную среды перед запуском autogen. например, скрипт

ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh

или

export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh
./configure

См. Раздел пути поиска макросов в руководстве по GNU automake.

steeldriver
источник
Или, PKG_PROG_PKG_CONFIGможет быть из опечатки в присваивании переменной, например, PKG_PROG_PKG_CONFIG<space>=...вместо PKG_PROG_PKG_CONFIG=.... grep "PKG_PROG_PKG_CONFIG "в ваших файлах.
вальтинатор