DBD::mysql 的 cpan 安装在测试中失败并且未找到符号。 OSX 莫哈韦沙漠

2024-02-03

这看起来好像已经存在很多年了 - 但我找不到任何最近的和 Mac 相关的东西,并且只处理安装 CPAN 模块 DBD::mysql 我已经在互联网上搜寻了好几天了......

#   Failed test 'use DBD::mysql;'
#   at t/00base.t line 15.
#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
#   Referenced from: /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle
#   Expected in: flat namespace
#  in /Users/robert/.cpanm/work/1542100720.91387/DBD-mysql-4.048/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
# ^@ at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called.  Further testing stopped:  Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
-> FAIL Installing DBD::mysql failed. See /Users/robert/.cpanm/work/1542100720.91387/build.log for details. Retry with --force to force install it.

这是我正在使用的 cpanm 线。

sudo cpanm  --configure-args="--libs='-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib' --cflags='-I/usr/local/opt/openssl/include -I/usr/local/include/mysql -I/usr/local/Cellar/mysql/8.0.12/include/mysql'" DBD::mysql

我已经用 Homebrew 安装了 mysql,以及与此相关的其他所有内容。我什至将一些库复制到系统目录中 - 但似乎没有任何东西想让这个 cpan 模块安装和工作。

编辑:此行后添加。 让我们尝试一下手工制作包装

sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lssl -lcrypto"

Make的结果。看起来不错。我在这里没有看到任何错误。显然所有库都可用于编译。

zeus:DBD-mysql-4.048-0 robert$ sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib"
I will use the following settings for compiling and testing:

  cflags        (mysql_config ) = -I/usr/local/Cellar/mysql/8.0.12/include/mysql
  embedded      (guessed      ) = 
  libs          (User's choice) = -L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib
  mysql_config  (Users choice ) = mysql_config
  nocatchstderr (default      ) = 0
  nofoundrows   (default      ) = 0
  nossl         (default      ) = 0
  testdb        (User's choice) = test
  testhost      (default      ) = 
  testpassword  (default      ) = 
  testport      (default      ) = 
  testsocket    (default      ) = 
  testuser      (User's choice) = root

To change these settings, see 'perl Makefile.PL --help' and
'perldoc DBD::mysql::INSTALL'.

Checking if libs are available for compiling...
Looks good.

Checking if your kit is complete...
Looks good
Using DBI 1.642 (for perl 5.028000 on darwin-thread-multi-2level) installed in /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBI/
Generating a Unix-style Makefile
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
zeus:DBD-mysql-4.048-0 robert$ 

现在让我们看看是否make works.

看起来不错。 1 个关于 WIDEST_UTYPE 的警告,但这只是一个警告......

然后,mysql.bundle就制作完成了

chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
Manifying 3 pod documents

好吧,现在是大测试。进行测试.

...并且失败了。

zeus:DBD-mysql-4.048-0 robert$ sudo make test
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
PERL_DL_NONLAZY=1 "/usr/local/Cellar/perl/5.28.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.t .............................. 1/6 
#   Failed test 'use DBD::mysql;'
#   at t/00base.t line 15.
#     Tried to use 'DBD::mysql'.
#     Error:  Can't load '/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _mysql_affected_rows
#   Referenced from: /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle
#   Expected in: flat namespace
#  in /Users/robert/.cpan/build/DBD-mysql-4.048-0/blib/arch/auto/DBD/mysql/mysql.bundle at /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/DynaLoader.pm line 197.
#  at t/00base.t line 15.
# Compilation failed in require at t/00base.t line 15.
# BEGIN failed--compilation aborted at t/00base.t line 15.
Bailout called.  Further testing stopped:  Unable to load DBD::mysql
FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255

...就是这样。同样的错误。现在我也尝试了 MariaDB - 相同的结果,尽管错误消息略有不同。

我在这里缺少什么。


所以我终于找到了。当然,它正确地定位了库并包含文件。

所以我进入了系统上的 cpan 目录

/Users/robert/.cpan/build/DBD-mysql-4.048-0

在检查了 openssl 和 mysql 的brew 安装位置后,我醒了。

sudo perl Makefile.PL --libs="-L/usr/local/opt/openssl/lib -lssl -lcrypto -L/usr/local/lib -L/usr/local/Cellar/mysql/8.0.12/lib -lmysqlclient"

现在。这是有效的,因为在查看 mysql lib 目录后,我看到该库是“mysqlclient”而不是 mysql。正如你在上面看到的。

现在可以像上面那样完成 Makefile.PL 的事情了。

然后“制作”就起作用了。如上。没有显示任何错误...如上所述

Then sudo make 测试有效- 这次。

All tests successful.
Files=73, Tests=9, 11 wallclock secs ( 0.24 usr  0.15 sys +  8.25 cusr  1.23 csys =  9.87 CPU)
Result: PASS

最后-进行安装。工作过

zeus:DBD-mysql-4.048-0 robert$ sudo make install
"/usr/local/Cellar/perl/5.28.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- mysql.bs blib/arch/auto/DBD/mysql/mysql.bs 644
Manifying 3 pod documents
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/Bundle/DBD/mysql.pm
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql.pm
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/INSTALL.pod
Installing /usr/local/Cellar/perl/5.28.0/lib/perl5/site_perl/5.28.0/darwin-thread-multi-2level/DBD/mysql/GetInfo.pm
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/Bundle::DBD::mysql.3
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql::INSTALL.3
Installing /usr/local/Cellar/perl/5.28.0/share/man/man3/DBD::mysql.3
Appending installation info to /usr/local/Cellar/perl/5.28.0/lib/perl5/5.28.0/darwin-thread-multi-2level/perllocal.pod
zeus:DBD-mysql-4.048-0 robert$ pwd
/Users/robert/.cpan/build/DBD-mysql-4.048-0

终于好了。现在我为什么想要这个?我不记得了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DBD::mysql 的 cpan 安装在测试中失败并且未找到符号。 OSX 莫哈韦沙漠 的相关文章

随机推荐

  • 有没有像 Firefox 一样可以保存网站的 Python 脚本?

    当我想保存一些网站时 我厌倦了在 Firefox 中单击 文件 然后单击 页面另存为 Python 有没有脚本可以做到这一点 我想保存图片和css文件 这样当我离线阅读时 它看起来很正常 你可以使用 wget wget m k E 网址 E
  • 如何在 Delphi TStringList 中更快地搜索名称/值对?

    我通过将运行时的所有字符串放入 TStringList 中 在应用程序中实现了语言翻译 procedure PopulateStringList begin EnglishStringList Append CAN T FIND FILE
  • HTTP 失败:java.net.SocketException:套接字关闭改造

    尝试了多种方法仍然面临这个问题 我正在使用 RxJava 和 Retrofit 来完成所有网络操作 下面是我的代码 服务 kt GET v1 contact id fun getContactDetails Path id id Strin
  • upnpx 库的 Apple Mach-O 链接器错误

    我在使用 upnpx 库时遇到一个小问题 我已经下载了该库并打开了 upnpdemo 工作区 我在同一工作区中创建了一个新项目 尝试使用该库创建一个简单的应用程序 我像演示项目一样设置参数 但是 XCode 返回 21 个错误 Apple
  • WPF:列表框取消选择

    当用户单击我的单选中的某个项目时ListBox 该项目被选中 当用户第二次单击某个项目时 除非按住 Ctrl 键 否则不会取消选择该项目 建议将 2 更改为不需要控制键的方法是什么 确保选择模式为Multiple 通过选择多个 您只需单击鼠
  • 使用 _FILES 无法将文件发送到 PHP 服务器

    我正在尝试将值发送到 PHP 服务器 但总是收到 HTTP REsponse 200 并且在我的服务器中我没有收到我发送的值 不知道问题是什么 以下是我的 android 和 PHP 代码片段 有人可以帮忙吗我用这个 抱歉代码太多 我也遵循
  • 如何在Asp.Net Mvc4中检查验证码后传递Email Id值?

    我是使用实体框架的 Asp Net Mvc4 的新手 现在我正在为忘记密码进行验证码验证 作为我的代码 当我单击提交按钮时 即使验证码无效 它也会将电子邮件 ID 值传递给控制器 如果验证码正确 我想将电子邮件 ID 值传递给控制器 否则它
  • ASP.NET 无法编译调试

    我有两台 IIS 服务器计算机 A 和 B 它们都为相同的 ASP NET Web 窗体站点提供服务 在 A 上 当我遇到错误时 我会收到详细的错误页面 其中显示生成异常的源代码 在 B 上 当我遇到错误时 我收到消息 The source
  • rspec:第一次失败后如何继续测试

    我正在使用 rspec 来系统测试设备 该设备是模块化的 因此可以将任意数量的子设备连接到测试装置 我想在很多地方编写测试 这些测试将循环连接的子设备并在每个设备上运行相同的测试 基本上 这就是我想要做的 before all tool d
  • 我应该在退出子程序之前重新打开 .CutCopyMode 吗?

    为了优化我的代码 我关闭了几个应用程序对象成员 https msdn microsoft com en us library office ff198091 aspx特性 尤其是 CutCopyMode 属性 https msdn micr
  • TypeError:使用 ReactNative 传递参数时 this.props.navigation.getParam 不是函数

    我在通过 getParam 方法访问参数时遇到错误 如下所示 const source this props navigation getParam source 0 const doFollow this props navigation
  • Service Worker 更新延迟

    我有一个正在运行的 Web 应用程序 它依靠服务工作人员来检查所有缓存的文件并确保用户使用正确的应用程序版本 我们的客户目前希望设备在特定点 重新打开应用程序时 等检查更新 因为目前当您打开应用程序时 设备最多可能需要 5 分钟才能意识到其
  • 如果包装器使用拆箱,那么 intValue() 方法需要什么?

    例如 看看这段代码 Integer myInt new Integer 5 int i1 myInt intValue int i2 myInt System out println i1 System out println i2 正如您
  • addClass 和removeClass 反应

    我想检查目标元素是否包含类 如果没有添加该类 如果是则删除该类 class Hello extends React component addActiveClass e if e target classList contains acti
  • 如何在底图中绘制圆圈或添加艺术家

    我想知道如何使用纬度和经度用底图绘制一个圆 import matplotlib pyplot as plt fig ax plt subplots ax axis 0 10 0 10 circle1 plt Circle 5 5 2 col
  • 无法读取 Kendo Pivot Grid MVC 中未定义的属性“值”

    我正在使用 Kendo Pivot Grid 当我展开行时 控制台中出现错误 无法读取属性 value 的未定义 在出现错误之前 我使用 JavaScript 刷新数据源 并且没有删除度量和维度 当我删除度量和维度并刷新数据源后 一切正常
  • 使用 itext 7 将页码文本添加到 pdf 副本中进行翻转/镜像

    所以 我一直在尝试使用 itext 文档中提供的示例来合并文档并为合并结果创建目录 但是向每个页面添加页码文本的部分并没有像我预期的那样工作 发生的情况是添加的文本在某个水平轴上翻转 如下图所示 另外 用于为添加的文本设置固定位置的方法的
  • 问题:将 12 小时制转换为 24 小时制,然后反转回来

    我是一名 C 初学者 我正在 MVP 中编写一个 Web 应用程序 但在将 12 小时时钟转换为 24 小时时钟时遇到问题 因此 有三个下拉框 小时 分钟 上午 下午 当 AM PM 下拉列表显示为 PM 时 小时值应加 12 这是我的代码
  • 如何修改 iPhone OpenGL ES 模板中的着色器以产生这种效果?

    我正在尝试修改片段着色器 它是标准 iPhone XCode OpenGL ES 模板的一部分 我想让它每隔一行像素都是透明的 到目前为止我有这个代码 varying lowp vec4 colorVarying void main gl
  • DBD::mysql 的 cpan 安装在测试中失败并且未找到符号。 OSX 莫哈韦沙漠

    这看起来好像已经存在很多年了 但我找不到任何最近的和 Mac 相关的东西 并且只处理安装 CPAN 模块 DBD mysql 我已经在互联网上搜寻了好几天了 Failed test use DBD mysql at t 00base t l