Mam 32-bitowy system Ubuntu 13.10. Ostatnio, kiedy próbuję skompilować, uruchamiając ./autogen.sh
i ./configure
dostaję
PKG_PROG_PKG_CONFIG: command not found
błąd. Mam libtool
zainstalowany. Mam trzy pliki aclocal w usr/share/
niczym alocal
, aclocal-1.13
aaclocal-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 ./autogen
i /configure
polecenia 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
pkg-config
pakiet jest zainstalowany? czy plik/usr/share/aclocal/pkg.m4
istnieje w twoim systemie?find /usr -name "pkg.m4"
daje mi/usr/share/aclocal/pkg.m4
aclocal --print-ac-dir
mówiOdpowiedzi:
PKG_PROG_PKG_CONFIG
Zmienna odnosi się do makrapkg.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)Jeśli to się sprawdzi, powstanie pytanie, dlaczego go
aclocal
nie znajduje? Możesz sprawdzić, gdzieaclocal
skonfigurowano wyszukiwanie plików m4 innych firm za pomocą--print-ac-dir
przełącznika, tjJeś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_PATH
zmiennej środowiskowej przed uruchomieniem autogenu. skrypt sh nplub
Zobacz sekcję ścieżki wyszukiwania makr w instrukcji automake GNU.
źródło
PKG_PROG_PKG_CONFIG
może pochodzić z literówki w przypisaniu zmiennej, np.PKG_PROG_PKG_CONFIG<space>=...
ZamiastPKG_PROG_PKG_CONFIG=...
.grep "PKG_PROG_PKG_CONFIG "
na twoich plikach.