2016-09-23 8 views
0

В моей configure.ac, я хочу, чтобы проверить в этом модуле perlexiftool (http://search.cpan.org/~exiftool/Image-ExifTool-10.20/lib/Image/ExifTool.pod) существует как:Autotools проверки ошибок configure.ac модуль PERL

AX_PROG_PERL_MODULES(Image::ExifTool, ,) 

Но это дает ошибку:

./configure: line 4071: syntax error near unexpected token `Image::ExifTool,' 
./configure: line 4071: `AX_PROG_PERL_MODULES(Image::ExifTool, ,)' 

Что здесь не так?

Для справки, вот мой полный configure.ac

AC_INIT([mkbib], [0.1],[],[mkbib]) 
AM_INIT_AUTOMAKE([1.9.6 dist-bzip2 subdir-objects]) 
AM_PATH_PYTHON([3.0]) 
AM_PATH_GTK_3_0([3.4.0],,AC_MSG_ERROR([Gtk+ 3.0.0 or higher required.])) 
AX_PROG_PERL_MODULES(Image::ExifTool, ,) 

GLIB_GSETTINGS 
AC_CONFIG_FILES([Makefile 
       data/Makefile 
       data/mkbib.desktop 
       data/icons/Makefile 
       data/icons/hicolor/Makefile 
       data/icons/hicolor/48x48/Makefile 
       data/icons/hicolor/48x48/apps/Makefile 
       data/icons/hicolor/scalable/Makefile 
       data/icons/hicolor/scalable/apps/Makefile 
       data/ui/Makefile 
       ]) 
AC_OUTPUT 
+0

Любой, пожалуйста? – BaRud

+0

Похоже, что вы не используете макрос AX_PROG_PERL_MODULES m4 при запуске autoconf. Этот текст не должен отображаться в вашем скрипте configure. Вам нужно будет установить его из архива autoconf. –

ответ

1

Вы не имеете определение AX_PROG_PERL_MODULES в проекте. Это происходит от Autoconf archive, а не от базового autoconf (таким образом, префикс AX_.) Вероятно, вы захотите загрузить .m4 (и любые его зависимости) и добавить его в свой каталог m4/, а затем запустить что-то по линиям autoreconf -is -I m4.

Если вы заинтересованы, вы можете копать дальше в использование внешнего макроса на моем Autotools MYthbuster, но суть в этом.

+0

hi, Пока я искал, я попал на другую страницу вашего полного блога, отличную от страницы, которую вы показали. Это совершенно ясно. Но я решил проблему, используя http://fossies.org/linux/pacpl/configure.ac, где m4's r помещается в aclocal/dir, и мне нужно запустить aclocal один раз. Можете ли вы прокомментировать это? – BaRud

+0

aclocal должен запускаться 'autoreconf', но вы используете' m4_include', поэтому вам не нужно использовать aclocal для * этого * макроса (вам все равно может понадобиться что-то еще.) Я бы предложил настроить правильные макросы autoconf для скажите, где найти файлы m4 (независимо от того, является ли это 'aclocal /' или 'm4 /', это не имеет особого значения, я предпочитаю, чтобы последний был несовместим) и просто используйте 'autoreconf'. –