2016-06-25 10 views
0

Я установил локальную версию более новой версии automake (1.15) в систему, к которой у меня нет доступа root. Локальная папка локального каталога - это первый каталог в моем PATH.Макросы M4 в стороннем каталоге aclocal не найдены

Я также установлен локально gtk+-2.0, и теперь я хочу, чтобы построить и установить приложение, которое требует gtk как зависимость, то есть configure.ac сценария для моего желаемого применения содержит:

PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.0]) 

Для обеспечения m4 макросов , я скопировал файл .m4 в gtk_install_dir/share/aclocal в то место, которое aclocal --print указывает (automake_install_dir/share/aclocal/).

Я также установил PKG_CONFIG_PATH=gtk_install_dir/lib/pkgconfig.

Однако, когда я бегу:

$ libtoolize 
$ aclocal 
$ autoconf 
$ automake 
$ ./configure 

Я получаю сообщение об ошибке:

./configure: line 13106: syntax error near unexpected token `GTK,' 
./configure: line 13106: `PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.0)' 

Запуск aclocal --verbose я могу ясно видеть, что нет никакого упоминания о GTK, так что это явно не найти gtk + макросы.

Я еще не использовал эти инструменты для сборки, я что-то упустил? Кажется, я не могу заставить скрипт configure распознавать, что gtk установлен!

Любые советы очень ценятся, спасибо.

EDIT: Я могу подтвердить, что pkg-config знает, где моя установка GTK является:

$ pkg-config --print-variables gtk+-2.0 
exec_prefix 
gtk_binary_version 
... 

Также подтверждается pkg-config --debug gtk+-2.0. Если pkg-config знает все о пакете, почему не работает autotools?

ответ

0

Вы должны убедиться, что установлен pkg-config-devel или аналогичный пакет. Без этого aclocal не может найти макрос PKG_CHECK_MODULES, который необходим для ./configure для вызова pkg-config.

программного обеспечения вы пытаетесь построить мощи есть pkg.m4 файла в подкаталоге, такие как m4/, но если она не была настроена правильно, это может и не заметить, что, попробуйте использовать autoreconf -fis -I m4, если есть такой каталог.