强文
通过自制程序更新perl后,我破坏了我的dbd :: mysql安装 通过cpanm安装结果
日志错误: 我将使用以下设置进行编译和测试:
cflags (mysql_config) = -I/usr/local/Cellar/mysql-connector-
c/6.1.9/include
embedded (guessed ) =
ldflags (guessed ) =
libs (mysql_config) = -L/usr/local/Cellar/mysql-connector-
c/6.1.9/lib -l
mysql_config (guessed ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
nossl (default ) = 0
testdb (default ) = test
testhost (default ) =
testpassword (default ) =
testport (default ) =
testsocket (default ) =
testuser (guessed ) = root
强文
要更改这些设置,请参阅'perl Makefile.PL --help'和'perldoc DBD :: mysql :: INSTALL'。
检查libs是否可用于编译... 无法链接/包含C库'',正在中止。
有谁知道如何解决? 我试过删除mysql-connector-c并通过安装mysql 自制的。然后投诉是无法链接/包含C库 'ssl','crypto',流产。我确实安装了openssl。
perl:这是perl 5,版本24,颠覆1(v5.24.1) 达尔文线程多2level
thnx的帮助
答案 0 :(得分:5)
这是一个古老的问题,但是我在安装DBD :: mysql时遇到了这个问题,我发现其他人也仍然有这个问题。这是对我有用的复杂解决方案。
我从运行(MacOX Mojave 10.14.1)开始:
brew install mysql
cpanm install DBD::mysql
这给了我错误消息“无法链接/包括C库'ssl','crypto',正在中止”。根据{{3}}和meta-cpan上的DBD :: mysql安装说明,发生此错误是因为DBD :: mysql软件包需要(?)“ mysql-connector-c”而不是“ mysql”。好的,我通过以下操作解决了该问题:
brew unlink mysql
brew install mysql-connector-c
cpanm install DBD::mysql
“解决”问题的原因是它给了我不同的错误消息。我现在收到消息:“无法链接/包括C库”,正在中止”。进展!现在我遇到了this thread上的错误。我通过以下方式解决了该错误:
mysql_config
/usr/local/Cellar/mysql-connector-c/6.1.11/bin/mysql_config line #114
libs="$libs -l"
更改为libs="$libs -lmysqlclient"
mysql_config
cpanm install DBD::mysql
这为我成功安装了DBD :: mysql。我确实认为我将不得不返回并添加更多的链接标志。
答案 1 :(得分:1)
按mysql_config
显示which mysql_config
路径
例如:/usr/local/opt/mysql@5.7/bin/mysql_config
通过which openssl
显示openssl lib路径。注意:如果它是/usr/local/bin/openssl
中的符号,则可以键入ls -ld /usr/local/bin/openssl
以显示真实路径
例如:如果是
/usr/local/openssl/bin/openssl
, 那么您可以插入-L/usr/local/openssl/lib/
来搜索crypto
和ssl
个库
编辑mysql_config
文件并插入openssl lib(第114行)的路径
例如:
libs=$libs -L/usr/local/opt/openssl/lib
4.输入cpan install DBD::mysql
,成功。
答案 2 :(得分:0)
我得到了同样的错误,当我试图解决这个问题时,我将-I / usr / local / mysql / include添加到perl makefile.pl命令中。这不起作用,但像山羊我再次尝试,然后它想出了一个Xcode协议表格,我必须阅读并遵守。更长的故事我将一个旧的macbook pro升级为el capitan,然后上周必须安装Xcode 6.3。我忘记了新的Xcode。无论如何,最终结果是一旦我同意Xcode使用
就成功安装答案 3 :(得分:0)
再次偶然发现了这个问题,在没有任何答案起作用之后,这个问题就帮了大忙:
PATH="$(brew --prefix mysql-client)/bin:$PATH"
export LIBRARY_PATH=$(brew --prefix openssl)/lib:$LIBRARY_PATH
cpanm DBD::mysql