在 Mac Big Sur 上安装 DBD::mysql "Can't link/include C library 'zstd'"出错 - 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显示为"活动"@INC不包含任何选项
  • 我在/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(并进行手动安装来解决这个问题:

https://perlbrew.pl/

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

显而易见的答案是使用MacPorts安装DBD::mysql,例如通过运行

sudo port install p5.28-dbd-mysql +mysql8

最新更新