2011-12-20 3 views
9

Я уверен, что это довольно простая проблема. У меня очень простой файл configure.ac, который я использую, чтобы узнать, как работают autoconf pkg-config. Файл confgure.ac выглядит следующим образом:Использование макроса pkg-config PKG_CHECK_MODULES с ошибкой

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

PKG_CHECK_MODULES(libusbmuxd, libusbmuxd >= 0.1.4) 

Затем я могу выполнить Autoconf из командной строки и он выдает конфигурационный скрипт. Тем не менее, когда я запускаю скрипт настройки, я получаю следующее сообщение об ошибке:

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

Если я использую программу PKG-конфигурации из командной строки, чтобы проверить, может ли он найти эту библиотеку, она преуспевает.

/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 

Таким образом, представляется очевидным, что по какой-то причине PGK_CHECK_MODULE макрос не может быть расположен, и я не знаю, почему.

Это, вероятно, не касается ОС, но я использую Mac OS X 10.6.8.

+1

Макрос находится в файле 'pkg.m4', если я не ошибаюсь. Вы можете найти этот файл где-нибудь в каталоге '/ usr/share/aclocal' или аналогичном каталоге? – ptomato

+3

Используйте «aclocal --print», чтобы определить каталог для поиска pkg.m4 –

+0

Как вы установили pkg-config и как вы установили autotools? –

ответ

16

Когда вы загружаете (то есть, запускаете autoreconf), aclocal не может найти pkg.m4. Это связано с тем, что pkg-config либо не был установлен, либо был установлен где-то, о чем aclocal не знает. (т. е. он был установлен с другим префиксом, чем automake.) На самом деле существует большая школа мысли, в которой говорится, что лучший способ использовать pkg-config с помощью autotools - не использовать его. Если вы просмотрите архив списка рассылки autoconf, вы увидите эту дискуссионную рекламу. Я не говорю, что вам следует избегать использования pkg-config (хотя я считаю, что лучше всего это делать), но, пожалуйста, имейте в виду, что многие люди рекомендуют полностью его избегать.

0

Кажется, люди доморощенного решили, что это не их проблема, и ввел предупреждение. супер разочаровывает, так как никто не увидит, поскольку никто не использует доморощенного или automake и ожидает, что придется углубиться в детали того, что не так. Here's the link.

 Смежные вопросы

  • Нет связанных вопросов^_^