Si vous obtenez une erreur "Can't exec mysql_config :No such file or directory at Makefile.PL" , alors voici comment vous pouvez résoudre l'erreur. Avant cela, jetez un œil au message d'erreur complet :
Can't exec "mysql_config": No such file or directory at Makefile.PL line 561. Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located. Failed to determine directory of mysql.h
Comment réparer Impossible d'exécuter mysql_config :aucun fichier ou répertoire de ce type sur Makefile.PL
Cette erreur se produit si le système ne trouve pas le package client MySQL. Le script d'installation "Makefile.PL"
peut être configuré à l'aide de nombreux commutateurs tels que --cflags
, --libs
etc…
cflags
est une liste d'indicateurs qui sont donnés au compilateur C. L'indicateur important est l'emplacement des fichiers d'en-tête MySQL. Pour déterminer les drapeaux par défaut, mysql_config
le script peut être utilisé comme indiqué ci-dessous.
# mysql_config --cflags -I/usr/include/mysql
De même, --libs
est une liste d'indicateurs qui sont donnés à l'éditeur de liens ou au chargeur. Ici, les drapeaux par défaut sont déterminés en exécutant mysql_config
commande comme indiqué ci-dessous :
# mysql_config --libs -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
Donc, généralement si --cflags
et --libs
ne sont pas spécifiés dans la ligne de commande, alors mysql_config
sera utilisé et ce script fait partie de la distribution du client MySQL. Eh bien, voici une référence qui explique cela en détail.
Mais dans la plupart des cas, si vous aviez installé uniquement le serveur MySQL en utilisant 'apt-get install mysql-server'
alors il y a des chances que vous n'ayez pas installé la bibliothèque cliente MySQL. Cela signifie qu'il manque au système mysql_config
commande également.
Pour résoudre ce problème, installez la bibliothèque client MySQL comme indiqué ci-dessous :
$ sudo apt-get install libmysqlclient-dev
Vérifiez si mysql_config est installé à l'aide de la commande ci-dessous :
$ which mysql_config /usr/bin/mysql_config
# whereis mysql_config mysql_config: /usr/bin/mysql_config /usr/share/man/man1/mysql_config.1.gz
C'est ça! Essayez maintenant d'exécuter le script d'installation "Makefile.PL" et il devrait se trouver mysql_config
sans aucun problème.