gpt4 book ai didi

mysql - 编译 Perl 的 DBD::mysql 时如何修复 "Symbol not found: _is_prefix"?

转载 作者:可可西里 更新时间:2023-11-01 07:21:37 25 4
gpt4 key购买 nike

首先我想构建 DBD::mysql包裹。这一直失败,因为无法为带有 Symbol not found: _is_prefix 的测试加载导致的任何结果。所以我认为 cpan 可能有点旧。我知道这是一个随机假设,但 cpan 确实告诉我安装最新的 Bundle::CPAN .

谁成功安装了 DBD::mysqlBundle::CPAN在 Mac OS X 10.5 上?你能推荐我可以做的不同的事情吗?

This is perl, v5.8.8 built for darwin-thread-multi-2level(with 4 registered patches, see perl -V for more detail)
/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.1.36,for apple-darwin9.5.0 (i386) using readline 5.1

这是 DBD::mysql 的 CPAN 输出日志:

Writing Makefile for DBD::mysqlcc -c  -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch ppc -arch i386 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3   -DVERSION=\"4.012\" -DXS_VERSION=\"4.012\"  "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   dbdimp.c/usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsiRunning Mkbootstrap for DBD::mysql ()chmod 644 mysql.bs/usr/bin/perl /System/Library/Perl/5.8.8/ExtUtils/xsubpp  -typemap /System/Library/Perl/5.8.8/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.ccp lib/DBD/mysql.pm blib/lib/DBD/mysql.pmcp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pmcp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.podcp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pmcp mysql.bs blib/arch/auto/DBD/mysql/mysql.bschmod 644 blib/arch/auto/DBD/mysql/mysql.bsWarning: duplicate function definition 'do' detected in mysql.xs, line 225Warning: duplicate function definition 'rows' detected in mysql.xs, line 650cc -c  -I/Library/Perl/5.8.8/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch ppc -arch i386 -g -pipe -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/local/include -O3   -DVERSION=\"4.012\" -DXS_VERSION=\"4.012\"  "-I/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE"   mysql.cdbdimp.c: In function 'mysql_describe':dbdimp.c:3309: warning: assignment from incompatible pointer typedbdimp.c: In function 'mysql_describe':dbdimp.c:3309: warning: assignment from incompatible pointer typerm -f blib/arch/auto/DBD/mysql/mysql.bundleLD_RUN_PATH="/usr/local/mysql/lib" /usr/bin/perl myld cc -mmacosx-version-min=10.5.7  -arch ppc -arch i386 -bundle -undefined dynamic_lookup -L/usr/local/lib dbdimp.o mysql.o  -o blib/arch/auto/DBD/mysql/mysql.bundle    \       -L/usr/local/mysql/lib -lmysqlclient -lz -lm     \chmod 755 blib/arch/auto/DBD/mysql/mysql.bundleManifying blib/man3/DBD::mysql.3pmManifying blib/man3/DBD::mysql::INSTALL.3pmManifying blib/man3/Bundle::DBD::mysql.3pm  CAPTTOFU/DBD-mysql-4.012.tar.gz  /usr/bin/make -j3 -j3 -- OKRunning make testPERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.tt/00base.t .................. 1/6 Bailout called.  Further testing stopped:  Unable to load DBD::mysql#   Failed test 'use DBD::mysql;'#   at t/00base.t line 21.#     Tried to use 'DBD::mysql'.#     Error:  Can't load '/Users/dlamblin/.cpan/build/DBD-mysql-4.012-4n3pv8/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/dlamblin/.cpan/build/DBD-mysql-4.012-4n3pv8/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Symbol not found: _is_prefix#   Referenced from: /Users/dlamblin/.cpan/build/DBD-mysql-4.012-4n3pv8/blib/arch/auto/DBD/mysql/mysql.bundle#   Expected in: dynamic lookup#  at (eval 7) line 2# Compilation failed in require at (eval 7) line 2.# BEGIN failed--compilation aborted at (eval 7) line 2.FAILED--Further testing stopped: Unable to load DBD::mysqlmake: *** [test_dynamic] Error 255  CAPTTOFU/DBD-mysql-4.012.tar.gz  /usr/bin/make test -- NOT OK//hint// to see the cpan-testers results for installing this module, try:  reports CAPTTOFU/DBD-mysql-4.012.tar.gzRunning make install  make test had returned bad status, won't install without forceFailed during this command: CAPTTOFU/DBD-mysql-4.012.tar.gz              : make_test NO

最佳答案

好的,如果您遇到这些错误,我现在知道以下内容:

  1. MySQL 5.1 for Mac OS X x86_64DBD::mysql 不兼容(目前)。安装 32 位 x86 版本,然后重试。你会成功的。我希望 perl Makefile.pl 会在横幅中告诉您。
  2. Bundle::CPAN 有问题,因为我没有以 root 身份安装。为什么它会报告循环引用而不是安装权限问题,我永远无法理解。

如果此信息已过时,请添加评论。

关于mysql - 编译 Perl 的 DBD::mysql 时如何修复 "Symbol not found: _is_prefix"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1279939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com