2011-12-20 9 views
9

Jestem pewien, że jest to dość prosty problem. Mam bardzo prosty plik configure.ac, którego używam, aby dowiedzieć się, jak działa autoconf & pkg-config. Plik confgure.ac wygląda następująco:Używanie makra pkg-config PKG_CHECK_MODULES failing

AC_PREREQ(2.61) 
AC_INIT(autoconf_test, 1.0, [email protected]) 

PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4) 

mogę wtedy wykonać autoconfa z linii poleceń i robi produkować skrypt configure. Jednak, kiedy uruchomić skrypt konfiguracyjny, pojawia się następujący błąd:

./configure: line 1618: syntax error near unexpected token `libusbmuxd,' 
./configure: line 1618: `PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4)' 

Jeśli używam programu pkg-config w wierszu polecenia, aby sprawdzić, czy można go znaleźć tej biblioteki, to się uda.

/usr/lib/pkgconfig $pkg-config --libs --cflags --modversion libusbmuxd 

1.0.7 
-I/usr/local/Cellar/usbmuxd/1.0.7/include -L/usr/local/Cellar/usbmuxd/1.0.7/lib -lusbmuxd 

Tak, wydaje się oczywiste, że z jakiegoś powodu PGK_CHECK_MODULE makro nie może być umieszczony i nie jestem pewien dlaczego.

To prawdopodobnie nie jest specyficzne dla systemu operacyjnego, ale używam systemu Mac OS X 10.6.8.

+1

Makro znajduje się w pliku 'pkg.m4', jeśli się nie mylę. Czy możesz znaleźć ten plik gdzieś w katalogu/usr/share/aclocal' lub w podobnym katalogu? – ptomato

+3

Użyj "aclocal --print", aby określić katalog, w którym należy szukać pkg.m4 –

+0

Jak zainstalowałeś pkg-config i jak zainstalowałeś autotools? –

Odpowiedz

16

Podczas ładowania (tj. Uruchamianie autoreconf), aclocal nie może znaleźć pkg.m4. Wynika to z faktu, że pkg-config nie zostało zainstalowane lub zostało zainstalowane gdzieś, o czym nie wie aklokalny. (tj. został zainstalowany z innym prefiksem niż automake.) Istnieje duża szkoła myślenia, która mówi, że najlepszym sposobem użycia pkg-config z autotools jest nieużywanie go. Jeśli przejrzysz archiwum listy mailingowej autoconf, zobaczysz to debatowane ad-nause. Nie twierdzę, że powinieneś unikać używania pkg-config (chociaż uważam, że najlepiej jest to zrobić), ale pamiętaj, że wielu osobom zaleca się unikanie go całkowicie.

0

Wygląda na to, że homebrew zdecydowali, że to nie jest ich problem i zamienili go w ostrzeżenie. bardzo frustrujące, ponieważ nikt nie zobaczy, ponieważ nikt nie używa homebrew lub automake i spodziewa się, że będzie musiał głęboko zagłębiać się w szczegóły tego, co jest nie tak. Here's the link.