mysql - 错误“无法链接/包含 C 库 'zstd'”在 Mac Big Sur 上安装 DBD::mysql - MacPorts MySQL
问题描述
我在 Big Sur 上使用 mysql8 - 它与 MacPorts 一起安装。我一直无法通过 CPAN 和手动安装 DBD::mysql。我得到的错误信息是:
Checking if libs are available for compiling...
Can't link/include C library 'zstd', aborting.
一些(可能完全不相关的)事实可能会有所帮助 - 我在这里在黑暗中摸索:
- 尽管 MacPorts Perl 显示为“活动”,但我正在使用 /usr/bin/perl。@INC 不包含 /opt 中的任何内容
- 我在 /opt/local/lib 中找到以下内容:
lrwxr-xr-x 1 root admin 19 Mar 6 12:30 libzstd.1.dylib -> libzstd.1.4.9.dylib
-rw-r--r-- 1 root admin 1112760 Mar 6 12:30 libzstd.a
lrwxr-xr-x 1 root admin 19 Mar 6 12:30 libzstd.dylib -> libzstd.1.4.9.dylib
- 当我运行时
mysql_config
,我得到以下与库相关的输出:
--libs [-L/opt/local/lib/mysql8/mysql -lmysqlclient -lz -lzstd -lssl -lcrypto -lresolv]
有什么提示吗?提前谢谢了!
解决方案
在最近的 M1 macbook 上安装 DBD:mysql 时我遇到了同样的问题。我通过安装 perlbrew(然后重新安装 perl)并进行手动安装来解决它:
Perlbrew 为您提供安装和运行其他版本的 perl 的选项(OSX 使用的“供应商”版本除外)。
然后我下载了 DBD::mysql 包(https://metacpan.org/pod/DBD::mysql)。然后我进行手动安装,设置链接器标志以消除丢失的库。
perl Makefile.PL --libs="-L/opt/homebrew/Cellar/mysql/8.0.25_1/lib -lmysqlclient"
make
make test
make install
推荐阅读
- subtitle - 为什么 SSA/ASS 不接受大于 9:59:59.99 的时间码
- html - 如何使元素在悬停时可见?
- selenium - GOCD 管道,Selenium ChromeDriver 窗口大小未设置
- amazon-web-services - ECS 使用 ECR 自动部署
- php - 如何在 Apache2 中使用 php 执行 shell 脚本?
- intellij-idea - Intellij 插件 - 我可以访问打开的编辑器窗口的内容吗?
- javascript - 只允许一个动作并用 javascript 记录它
- c# - Telerik RadGrid 上的自定义聚合
- r - 绘制组条形图而不重塑数据
- php - PHP 5.3 FTP JSON 文件上传使用 ftp_put 不上传