[英]error "Can't link/include C library 'zstd'" installing DBD::mysql on Mac Big Sur - MacPorts MySQL
[英]error installing DBD::MySQL on osx 10.11 - Can't link/include C library '', aborting
通过自制软件更新 perl 后,我破坏了通过cpanm
安装的cpanm
dbd::mysql
安装结果:
I will use the following settings for compiling and testing:
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
To change these settings, see 'perl Makefile.PL --help' and 'perldoc DBD::mysql::INSTALL'.
Checking if libs are available for compiling...
Can't link/include C library '', aborting.
有谁知道如何解决? 我试过删除mysql-connector-c
并通过自制软件安装mysql
。 然后投诉是Can't link/include C library 'ssl', 'crypto', aborting
。 我确实安装了openssl
。
perl 版本:
This is perl 5, version 24, subversion 1 (v5.24.1) built for
darwin-thread-multi-2level
这是一个老问题,但我刚刚在安装 DBD::mysql 时遇到了这个问题,我看到其他人也仍然有这个问题。 这是对我有用的复杂解决方案。
我首先运行(MacOX Mojave 10.14.1):
brew install mysql
cpanm install DBD::mysql
这给了我错误消息“无法链接/包含 C 库‘ssl’、‘crypto’,正在中止”。 根据此线程和元 cpan 上的 DBD::mysql 安装说明,发生此错误是因为 DBD::mysql 包需要(?)“mysql-connector-c”而不是“mysql”。 好的,我通过以下方式解决了这个问题:
brew unlink mysql
brew install mysql-connector-c
cpanm install DBD::mysql
“修复”了这个问题,因为它给我带来了不同的错误消息。 我现在收到消息:“无法链接/包含 C 库'',正在中止”。 进步! 现在我收到了这个答案的错误。 我通过以下方式修复了这个错误:
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。 我确实认为我将不得不返回并添加更多链接标志。
显示mysql_config
的路径which mysql_config
例如:/usr/local/opt/mysql@5.7/bin/mysql_config
显示 openssl lib 路径, which openssl
. 注意:如果它是/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
,成功。
我按照@Benny K 回答中给出的链接进行操作,因为他给出的命令对我不起作用,只需执行以下命令即可
cpanm DBD::mysql --configure-args="--libs='-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -lmysqlclient'"
我遇到了同样的错误,在四处寻找时,我将 -I/usr/local/mysql/include 添加到 perl makefile.pl 命令中。 这不起作用,但我再次尝试了,然后它想出了一个我必须阅读并遵守的 Xcode 协议表。 长话短说,我将较旧的 macbook pro 升级到 el capian,然后上周不得不安装 Xcode 6.3。 我忘记了较新的 Xcode。 无论如何,一旦我同意使用 Xcode,最终结果是成功安装
再次偶然发现了这一点,在没有任何答案奏效之后,这个问题帮了大忙:
PATH="$(brew --prefix mysql-client)/bin:$PATH"
export LIBRARY_PATH=$(brew --prefix openssl)/lib:$LIBRARY_PATH
cpanm DBD::mysql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.