При попытке установить Perl-Mysql DBD, mysql_config не может быть найден - PullRequest
25 голосов
/ 19 января 2011

Вот вывод:

Ian-MacBook-Pro:DBD-mysql-4.011 ianseyer$ sudo Perl Makefile.PL
Can't exec "mysql_config": No such file or directory at Makefile.PL line 76.

Cannot find the file 'mysql_config'! Your execution PATH doesn't seem 
not contain the path to mysql_config. Resorting to guessed values!
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.pl --testuser=username

Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Can't exec "mysql_config": No such file or directory at Makefile.PL line 454.
Can't find mysql_config. Use --mysql_config option to specify where mysql_config is located
Failed to determine directory of mysql.h. Use

  perl Makefile.PL --cflags=-I

to set this directory. For details see the INSTALL.html file,
section "C Compiler flags" or type

  perl Makefile.PL --help

Я исследовал проблему и попытался создать символическую ссылку, но безрезультатно.

Должен ли я сам это скомпилировать?

Ответы [ 9 ]

37 голосов
/ 02 июля 2012

Если вы установили сервер mysql, который устанавливают все: sudo apt-get install mysql-server (или что-то в этом роде)

, вам не хватает нескольких дополнительных файлов, от которых зависит make-файл для этого модуля perl.

Вы можете попытаться обойти эту проблему, установив следующий пакет:

sudo apt-get install libmysqlclient-dev 

ССЫЛКА: http://cpansearch.perl.org/src/RUDY/DBD-mysql-2.9008/INSTALL.html#configuration

15 голосов
/ 14 января 2014

Применительно к пользователям Ubuntu / Debian (я использую U-12.0.4), было предложено выше, что пользователи делают:

sudo apt-get install libmysqlclient-dev

Но затем возникает другая проблема с maketest частью установки, когда «пароль: НЕТ» НЕ СБОЕТСЯ. Чтобы обойти этот тест, просто используйте force:

sudo cpan -f DBD::mysql
8 голосов
/ 13 марта 2014

, если вы используете Ubuntu, вы можете легко установить, используя ниже cmd

    sudo apt-get install libdbd-mysql-perl

для получения более подробной информации проверьте cpan install.pod , состоящий из подробностей о других разновидностях Linux

6 голосов
/ 21 июля 2012

Установите пакет mysql-devel, относящийся к вашей версии дистрибутива и сервера mysql.

4 голосов
/ 12 апреля 2012

Вам просто нужно, чтобы mysql-server и mysql-devel были установлены локально, чтобы cpan мог собрать модуль, возможно, вы сможете впоследствии удалить сервер mysql.

3 голосов
/ 19 января 2011

Найдите скрипт mysql_config.pl в вашем каталоге MySQL и запустите Makefile.PL, например:

perl Makefile.PL --mysql_config=/path/to/mysql-5.x.y.zzz/bin/mysql_config.pl
2 голосов
/ 15 июня 2012

Если вы попытаетесь установить через CPAN, вы не сможете, насколько я знаю, установить опцию --mysql_config напрямую. И включение каталога, содержащего mysql_config в переменную окружения PATH, похоже, не помогает.

Однако, если у вас есть файл mysql_config, доступный где-то, вы можете сделать следующее, чтобы установка прошла успешно:

ln -s /path/to/mysql_config /usr/local/bin/

Затем удалите символическую ссылку после установки DBD :: mysql.

Тесты во время установки будут по-прежнему не пройдены, если вы не установили MySQL в какой-либо центральной папке / папке по умолчанию в вашей системе, но установка все равно будет успешной.

Если у вас нет mysql_config, вы можете получить его из tar.gz, загруженного с MySQL Community Server с mysql.com . Он будет расположен в подкаталоге bin / извлеченных файлов. Если вы хотите, чтобы MySQL был установлен в вашей системе, лучше выбрать загрузку RPM и установить их или установить через систему управления пакетами вашей ОС.

1 голос
/ 29 мая 2019

Попробуйте yum install mariadb-devel для CentOS 7, а затем запустите установку необходимого модуля Perl, например cpan DBD::mysql

0 голосов
/ 06 октября 2014

Я получаю ошибки make test. Это помогло мне;

perl Makefile.PL  --testuser=bob  --testpass=bobtest
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...