2016-09-23 1 views
0

Dans mon configure.ac, je veux vérifier dans ce module perlexiftool (http://search.cpan.org/~exiftool/Image-ExifTool-10.20/lib/Image/ExifTool.pod) existe comme:autotools erreur configure.ac vérification module perl

AX_PROG_PERL_MODULES(Image::ExifTool, ,) 

Mais cela génère une erreur:

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

Qu'est-ce qui ne va pas ici?

Pour référence, voici mon configure.ac complet

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

Quelqu'un s'il vous plaît? – BaRud

+0

Il semble que vous n'ayez pas la macro AX_PROG_PERL_MODULES m4 disponible lorsque vous exécutez autoconf. Ce texte ne devrait pas apparaître dans votre script de configuration. Vous devrez l'installer à partir de l'archive autoconf. –

Répondre

1

Vous ne disposez pas d'une définition de AX_PROG_PERL_MODULES dans votre projet. Cela vient du Autoconf archive, plutôt que base autoconf (donc le préfixe AX_.) Vous voulez probablement télécharger le .m4 (et l'une de ses dépendances) et l'ajouter à votre répertoire m4/, puis exécuter quelque chose le long des lignes de autoreconf -is -I m4.

Vous pouvez creuser plus loin dans l'utilisation de macro externe sur mon Autotools MYthbuster si vous êtes intéressé, mais l'essentiel de c'est.

+0

salut, Pendant que je cherchais, j'ai atterri sur une page différente de votre blog complet, différente de la page que vous avez montrée. C'est assez clair. Mais, j'ai résolu le problème en utilisant http://fossies.org/linux/pacpl/configure.ac, où m de r4 est mis en aclocal/dir, et j'ai besoin de lancer aclocal une fois. Pouvez-vous commenter cela? – BaRud

+0

aclocal devrait être exécuté par 'autoreconf', mais vous utilisez' m4_include' donc vous ne devriez pas avoir besoin de aclocal pour * cette * macro (vous pouvez toujours avoir besoin d'autre chose). Je suggère de configurer les bonnes macros autoconf pour dites-lui où trouver les fichiers m4 (que ce soit 'aclocal /' ou 'm4 /' ça n'a pas vraiment d'importance, je préfère ce dernier par cohérence) et utilisez simplement 'autoreconf'. –