在编译Perl的DBD :: mysql时如何修复“未找到符号:_is_prefix”
发布时间:2020-12-16 06:20:07 所属栏目:大数据 来源:网络整理
导读:首先,我想构建 DBD::mysql包.这仍然失败,因为无法使用未找到符号的测试加载导致的任何内容:_is_prefix.所以我认为cpan可能有点老了.我知道这是一个随机的假设,但cpan确实告诉我安装最新的 Bundle::CPAN. 谁在Mac OS X 10.5上成功安装了DBD::mysql或 Bundle:
首先,我想构建
DBD::mysql包.这仍然失败,因为无法使用未找到符号的测试加载导致的任何内容:_is_prefix.所以我认为cpan可能有点老了.我知道这是一个随机的假设,但cpan确实告诉我安装最新的
Bundle::CPAN.
谁在Mac OS X 10.5上成功安装了DBD::mysql或 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::mysql cc -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.xsi Running 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.c cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs chmod 644 blib/arch/auto/DBD/mysql/mysql.bs Warning: duplicate function definition 'do' detected in mysql.xs,line 225 Warning: duplicate function definition 'rows' detected in mysql.xs,line 650 cc -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.c dbdimp.c: In function 'mysql_describe': dbdimp.c:3309: warning: assignment from incompatible pointer type dbdimp.c: In function 'mysql_describe': dbdimp.c:3309: warning: assignment from incompatible pointer type rm -f blib/arch/auto/DBD/mysql/mysql.bundle LD_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.bundle Manifying blib/man3/DBD::mysql.3pm Manifying blib/man3/DBD::mysql::INSTALL.3pm Manifying blib/man3/Bundle::DBD::mysql.3pm CAPTTOFU/DBD-mysql-4.012.tar.gz /usr/bin/make -j3 -j3 -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,'blib/lib','blib/arch')" t/*.t t/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::mysql make: *** [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.gz Running make install make test had returned bad status,won't install without force Failed during this command: CAPTTOFU/DBD-mysql-4.012.tar.gz : make_test NO 解决方法
好的,如果你收到这些错误,我现在知道以下内容:
>用于Mac OS X x86_64的MySQL 5.1与DBD :: mysql(尚未)兼容.安装32位x86版本,然后重试.你会成功的.我希望perl Makefile.pl能在横幅中告诉你. 如果这成为过时的信息,请添加评论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |