在 Catalina/Big Sur 上安装 DBD::mysql 失败,找不到“EXTERN.h”文件?

格尔德

我在 Catalina 上安装 DBD::mysql 准备:

perl Makefile.PL --testpassword=s3kr1t --testhost=localhost --testport 3306 --testuser=test --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"

运行 'make' 后出现错误:

/Library/Perl/5.18/darwin-thread-multi-2level/auto/DBI/DBIXS.h:22:10: fatal error: 'EXTERN.h' file not found 

s。DBD::mysql::安装

格尔德

看看 EXTERN.h:

$ find /Library/Developer/CommandLineTools -name EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Perl/5.28/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.28/darwin-thread-multi-2level/CORE/EXTERN.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h

检查您的 perl 版本:

$ perl -v

This is perl 5, version 18, subversion 4 (v5.18.4) built for darwin-thread-multi-2level

正确的标题是:

/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/EXTERN.h

使用正确的 OSX 标头使其工作:

perl Makefile.PL --testpassword=s3kr1t --testhost=localhost --testport 3306 --testuser=test --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.25_1/lib -lmysqlclient" --cflags='-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/zstd/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -I/usr/local/Cellar/mysql/8.0.25_1/include/mysql'

PS,不要忘记创建具有所有权限的 mysql 用户 'test' :-)

详情请见:

OSX 11.1 升级 - 大苏尔:

如果我采取上述方式,我首先会得到错误:

./dbdimp.h:20:10: fatal error: 'DBIXS.h' file not found
#include <DBIXS.h>  /* installed by the DBI module                        */

修复方法是,将 perl Makefile.PL 扩展为:

perl Makefile.PL --testpassword=s3kr1t --testhost=localhost --testport 3306 --testuser=test --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.25_1/lib -lmysqlclient" --cflags='-I/usr/local/opt/openssl/include -I/usr/local/opt/zlib/include -I/usr/local/opt/zstd/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Perl/5.30/darwin-thread-multi-2level/CORE -I/usr/local/Cellar/mysql/8.0.25_1/include/mysql -I/Library//Developer/CommandLineTools/SDKs/MacOSX11.1.sdk/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/DBI'

下一个问题是:

make: *** No rule to make target `/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level/auto/DBI/Driver_xst.h', needed by `mysql.xsi'.  Stop.

为什么这个?Big Sur 上 DBI 的默认安装已损坏!

下载当前 DBI 存档 DBI-1.643.tar.gz 并重新安装 DBI 后,DBD::mysql 使运行完成!

现在我必须休息一下 :-) 经过 2 个小时的尝试和错误!!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在macOS Big Sur上安装DBD :: Oracle =>找不到依赖的dylib'@ rpath / libclntsh.dylib.19.1'

在Mac Sierra上使用mysql brew install安装perl DBD :: mysql失败

安装perl-DBD-mysql时出错

FreeBSD 找不到模块 DBD::mysql 的可加载对象

尝试在 Centos-7 上安装 DBD-Pg-2.19.3 时找不到 version.pm

安装R软件包时找不到mysql.h文件

在 MacOS Big Sur 上安装 Netbeans 8.2 找不到 JDK

运行 Casablanca 程序失败,在 Mac OS 上找不到“openssl/conf.h”文件

即使在安装 python-dev 之后,在 Ubuntu 20.04 上也找不到 Python.h 文件

在macOS Mojave上安装SharpSAT-“找不到'gmpxx.h'文件”

找不到如何在Windows上安装MySql

无法在 Ubuntu 18.04 上安装 mysql,找不到 404

安装DBD :: Oracle时出错

pip安装pygame-找不到SDL.h文件

安装Watchman时找不到“ Python.h”文件

pycrypto安装致命错误:找不到gmp.h文件

pycrypto安装致命错误:找不到gmp.h文件

安装libact时找不到'lapacke.h'文件错误

在Python3上存在问题:安装失败,出现一系列“找不到文件”错误

具有SHA-256身份验证的Perl DBD mysql失败

pip安装mysql-python失败,并显示EnvironmentError:找不到mysql_config

Ubuntu 上的 Apache 2.4:“无法加载驱动程序文件 apr_dbd_oracle.so”

在Debian 8上安装MySQL 5.7失败

Docker Build Kitura Sqift容器-找不到Shim.h mysql.h文件

在Big Sur上安装自制红宝石时,出现“ ld:-lSystem找不到库”

在MAC上找不到MySQL

DBD-Oracle-1.76安装问题

Linux:如何安装DBD :: Pg模块?

pg gem安装失败,找不到libpq-fe.h标头