Jak naprawić błąd „PKG_PROG_PKG_CONFIG: polecenie nie znaleziono”?

13

Mam 32-bitowy system Ubuntu 13.10. Ostatnio, kiedy próbuję skompilować, uruchamiając ./autogen.shi ./configuredostaję

 PKG_PROG_PKG_CONFIG: command not found

błąd. Mam libtoolzainstalowany. Mam trzy pliki aclocal w usr/share/niczym alocal, aclocal-1.13aaclocal-1.4

Jak mogę naprawić ten błąd lokalny?

EDYTOWAĆ:

Jakiś czas temu skompilowałem najnowszą wersję automake ze źródła i zainstalowałem ją, ponieważ kod źródłowy potrzebował najnowszej wersji automake do uruchomienia procesu konfiguracji. Od tego czasu za każdym razem, gdy uruchamiam standardowe ./autogeni /configurepolecenia w katalogu źródłowym, aby wygenerować makefile, otrzymuję

  PKG_PROG_PKG_CONFIG: command not found

błąd

  find /usr -name "pkg.m4"

daje mi

  /usr/share/aclocal/pkg.m4

i

  aclocal --print-ac-dir

daje mi

  /usr/local/share/aclocal
kenn
źródło
czy pkg-configpakiet jest zainstalowany? czy plik /usr/share/aclocal/pkg.m4istnieje w twoim systemie?
steeldriver
Co próbujesz skompilować?
praca w
@steeldriver find /usr -name "pkg.m4"daje mi/usr/share/aclocal/pkg.m4
kenn
@Jobin Próbuję to skompilować: codeload.github.com/blazt/submarine/zip/master
kenn
Co aclocal --print-ac-dirmówi
steeldriver

Odpowiedzi:

18

PKG_PROG_PKG_CONFIGZmienna odnosi się do makra pkg.m4, która jest dostarczana jako część pakietu pkg-config, więc pierwszą rzeczą do sprawdzenia jest to, że pkg-config jest zainstalowany i że makro plik znajduje się w domyślnej lokalizacji (i jest czytelny, oczywiście)

dpkg -l pkg-config

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

Jeśli to się sprawdzi, powstanie pytanie, dlaczego go aclocalnie znajduje? Możesz sprawdzić, gdzie aclocalskonfigurowano wyszukiwanie plików m4 innych firm za pomocą --print-ac-dirprzełącznika, tj

aclocal --print-ac-dir

Jeśli nie jest to to samo, co powyższa lokalizacja, sugeruje to, że w twoim systemie istnieje niestandardowa wersja automake - jeśli nie możesz tego rozwiązać, to możliwe obejście problemu to ustawienie lub wyeksportowanie ACLOCAL_PATHzmiennej środowiskowej przed uruchomieniem autogenu. skrypt sh np

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

lub

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

Zobacz sekcję ścieżki wyszukiwania makr w instrukcji automake GNU.

steeldriver
źródło
Lub PKG_PROG_PKG_CONFIGmoże pochodzić z literówki w przypisaniu zmiennej, np. PKG_PROG_PKG_CONFIG<space>=...Zamiast PKG_PROG_PKG_CONFIG=.... grep "PKG_PROG_PKG_CONFIG "na twoich plikach.
waltinator