2016-06-25 2 views
0

J'ai installé localement une nouvelle version de automake (1.15) sur un système auquel je n'ai pas accès root. Le dossier bin du répertoire local est le premier répertoire de mon PATH.Les macros M4 dans le répertoire aclocal tiers sont introuvables

J'ai installé localement gtk+-2.0, et je veux maintenant construire et installer une application qui nécessite gtk comme une dépendance, à savoir le script configure.ac pour mon application désirée contient:

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

Pour assurer que les macros m4 sont trouvés, j'ai copié le fichier .m4 dans gtk_install_dir/share/aclocal à l'emplacement que aclocal --print spécifie (automake_install_dir/share/aclocal/). J'ai également défini PKG_CONFIG_PATH=gtk_install_dir/lib/pkgconfig.

Cependant, quand je lance:

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

Je reçois un message d'erreur:

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

Courir aclocal --verbose Je peux voir clairement qu'il n'y a aucune mention de gtk, il est donc clairement pas trouver les macros gtk +.

Je n'ai pas utilisé ces outils de construction auparavant, ai-je oublié quelque chose? Je ne peux apparemment pas obtenir le script de configuration pour reconnaître que gtk est installé!

Tout conseil est très apprécié, merci.

EDIT: Je peux confirmer que pkg-config sait où mon installation GTK est:

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

également confirmé par pkg-config --debug gtk+-2.0. Si pkg-config sait tout sur le paquet, pourquoi ne pas autotools?

Répondre

0

Vous devez vous assurer que pkg-config-devel ou un paquet de même nom est installé. Sans cela, aclocal ne peut pas trouver la macro PKG_CHECK_MODULES qui est nécessaire pour ./configure pour appeler pkg-config.

Le logiciel que vous essayez de construire pourrait avoir un fichier pkg.m4 dans un sous-répertoire tel que m4/, mais si elle n'a pas été correctement configuré, il peut ne pas remarquer en fait que, essayez d'utiliser autoreconf -fis -I m4 s'il y a un tel répertoire.