有人能够在配备 i5 处理器的 Mac Snow Leopard 上安装 DBD::mysql 吗?

发布于 2024-11-30 15:19:14 字数 11560 浏览 0 评论 0原文

我正在尝试使用大多数流行的方法来安装 DBD::mysql,包括 sudo cpanm -S DBD::mysql 。然而,我遇到了一些严重的问题,我开始认为这可能是我的处理器的问题。我已经在许多计算机上成功安装了此软件,但自从我的 IT 部门给了我这台 i5 MacBook Pro 以来,每次都没有运气。还有其他人能够在 i5 上安装 DBD::mysql 吗?我运行的是 Mac 操作系统 10.6.8。

这是运行 cpanm 后的 build.log。任何帮助将不胜感激。谢谢你!

cpanm (App::cpanminus) 1.4008 on perl 5.010000 built for darwin-thread-multi-2level
Work directory is /Users/jerickson/.cpanm/work/1314049977.98062
You have make /usr/bin/make
You have LWP 5.813
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Searching DBD::mysql on cpanmetadb ...
--> Working on DBD::mysql
Fetching http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.020.tar.gz
-> OK
Unpacking DBD-mysql-4.020.tar.gz
Entering DBD-mysql-4.020
Checking configure dependencies from META.yml
Checking if you have DBI 1.08 ... Yes (1.616)
Configuring DBD-mysql-4.020
Running Makefile.PL


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

I will use the following settings for compiling and testing:

  cflags        (mysql_config) = -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64
  embedded      (mysql_config) = 
  libs          (mysql_config) = -L/usr/local/mysql/lib -lmysqlclient   -lpthread
  mysql_config  (guessed     ) = mysql_config
  nocatchstderr (default     ) = 0
  nofoundrows   (default     ) = 0
  ssl           (guessed     ) = 0
  testdb        (default     ) = test
  testhost      (default     ) = 
  testpassword  (default     ) = 
  testsocket    (default     ) = 
  testuser      (guessed     ) = root

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

Checking if your kit is complete...
Looks good
Using DBI 1.616 (for perl 5.010000 on darwin-thread-multi-2level) installed in /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.yml ...
Finding PREREQ from Makefile ...
Checking if you have Data::Dumper 0 ... Yes (2.121_14)
Checking if you have DBI 1.08 ... Yes (1.616)
Checking if you have Test::More 0 ... Yes (0.98)
Checking if you have Test::More 0 ... Yes (0.98)
Checking if you have Data::Dumper 0 ... Yes (2.121_14)
Checking if you have DBI 1.08 ... Yes (1.616)
Building and testing DBD-mysql-4.020
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
gcc-4.2 -c  -I/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64 -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include -Os   -DVERSION=\"4.020\" -DXS_VERSION=\"4.020\"  "-I/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE"   dbdimp.c
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
/usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsi
/usr/bin/perl /Library/Perl/Updates/5.10.0/ExtUtils/xsubpp  -typemap /System/Library/Perl/5.10.0/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 242
Warning: duplicate function definition 'rows' detected in mysql.xs, line 751
gcc-4.2 -c  -I/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64 -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include -Os   -DVERSION=\"4.020\" -DXS_VERSION=\"4.020\"  "-I/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE"   mysql.c
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.bundle
LD_RUN_PATH="/usr/local/mysql/lib:/usr/lib" /usr/bin/perl myld gcc-4.2 -mmacosx-version-min=10.6.3  -arch x86_64 -arch i386 -arch ppc -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 -lpthread   \

chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
Manifying blib/man3/DBD::mysql.3pm
Manifying blib/man3/DBD::mysql::INSTALL.3pm
Manifying blib/man3/Bundle::DBD::mysql.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
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/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
#   Referenced from: /Users/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle
#   Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
#  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
-> FAIL Installing DBD::mysql failed. See /Users/jerickson/.cpanm/build.log for details.

此后我尝试了 sudo cpanm -Sf DBD::mysql 。使用强制标志,cpanm 表示它已成功安装,但是尝试运行包含连接到 MySQL 数据库的脚本会出现以下错误:

Running...
install_driver(mysql) failed: Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
  Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
 at (eval 6) line 3
Compilation failed in require at (eval 6) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at roster_generate.pl line 33

I'm trying to install DBD::mysql using most of the popular methods, including sudo cpanm -S DBD::mysql. However, I am having some serious problems with this and I am beginning to think it might be my processor. I have successfully installed this on many computers, but every since my IT department gave me this i5 MacBook Pro, no luck. Has anyone else been able to install DBD::mysql on an i5? I'm running Mac OS 10.6.8.

Here is build.log after running cpanm. Any help would be appreciated. Thank you!

cpanm (App::cpanminus) 1.4008 on perl 5.010000 built for darwin-thread-multi-2level
Work directory is /Users/jerickson/.cpanm/work/1314049977.98062
You have make /usr/bin/make
You have LWP 5.813
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Searching DBD::mysql on cpanmetadb ...
--> Working on DBD::mysql
Fetching http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.020.tar.gz
-> OK
Unpacking DBD-mysql-4.020.tar.gz
Entering DBD-mysql-4.020
Checking configure dependencies from META.yml
Checking if you have DBI 1.08 ... Yes (1.616)
Configuring DBD-mysql-4.020
Running Makefile.PL


PLEASE NOTE:

For 'make test' to run properly, you must ensure that the 
database user 'root' can connect to your MySQL server 
and has the proper privileges that these tests require such 
as 'drop table', 'create table', 'drop procedure', 'create procedure'
as well as others. 

mysql> grant all privileges on test.* to 'root'@'localhost' identified by 's3kr1t';

You can also optionally set the user to run 'make test' with:

perl Makefile.PL --testuser=username

I will use the following settings for compiling and testing:

  cflags        (mysql_config) = -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64
  embedded      (mysql_config) = 
  libs          (mysql_config) = -L/usr/local/mysql/lib -lmysqlclient   -lpthread
  mysql_config  (guessed     ) = mysql_config
  nocatchstderr (default     ) = 0
  nofoundrows   (default     ) = 0
  ssl           (guessed     ) = 0
  testdb        (default     ) = test
  testhost      (default     ) = 
  testpassword  (default     ) = 
  testsocket    (default     ) = 
  testuser      (guessed     ) = root

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

Checking if your kit is complete...
Looks good
Using DBI 1.616 (for perl 5.010000 on darwin-thread-multi-2level) installed in /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/
Writing Makefile for DBD::mysql
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.yml ...
Finding PREREQ from Makefile ...
Checking if you have Data::Dumper 0 ... Yes (2.121_14)
Checking if you have DBI 1.08 ... Yes (1.616)
Checking if you have Test::More 0 ... Yes (0.98)
Checking if you have Test::More 0 ... Yes (0.98)
Checking if you have Data::Dumper 0 ... Yes (2.121_14)
Checking if you have DBI 1.08 ... Yes (1.616)
Building and testing DBD-mysql-4.020
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
gcc-4.2 -c  -I/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64 -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include -Os   -DVERSION=\"4.020\" -DXS_VERSION=\"4.020\"  "-I/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE"   dbdimp.c
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_param’:
dbdimp.c:223: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_bind’:
dbdimp.c:241: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbind’:
dbdimp.c:257: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘alloc_fbuffer’:
dbdimp.c:272: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘parse_params’:
dbdimp.c:589: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘my_login’:
dbdimp.c:1996: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_describe’:
dbdimp.c:3605: warning: assignment from incompatible pointer type
dbdimp.c:3606: warning: format not a string literal and no format arguments
dbdimp.c: In function ‘mysql_st_fetch’:
dbdimp.c:3798: warning: format not a string literal and no format arguments
/usr/bin/perl -p -e "s/~DRIVER~/mysql/g" /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI/Driver.xst > mysql.xsi
/usr/bin/perl /Library/Perl/Updates/5.10.0/ExtUtils/xsubpp  -typemap /System/Library/Perl/5.10.0/ExtUtils/typemap  mysql.xs > mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 242
Warning: duplicate function definition 'rows' detected in mysql.xs, line 751
gcc-4.2 -c  -I/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBI -I/usr/local/mysql/include  -Os -g -fno-common -fno-strict-aliasing -arch x86_64 -DDBD_MYSQL_INSERT_ID_IS_GOOD -g  -arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include -Os   -DVERSION=\"4.020\" -DXS_VERSION=\"4.020\"  "-I/System/Library/Perl/5.10.0/darwin-thread-multi-2level/CORE"   mysql.c
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
mysql.xs: In function ‘XS_DBD__mysql__db_do’:
mysql.xs:307: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘struct SV *’
mysql.xs:364: warning: format not a string literal and no format arguments
mysql.xs:365: warning: format not a string literal and no format arguments
mysql.xs:366: warning: format not a string literal and no format arguments
mysql.xs:525: warning: format not a string literal and no format arguments
mysql.xs: In function ‘XS_DBD__mysql__GetInfo_dbd_mysql_get_info’:
mysql.xs:930: warning: format ‘%i’ expects type ‘int’, but argument 2 has type ‘struct SV *’
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.bundle
LD_RUN_PATH="/usr/local/mysql/lib:/usr/lib" /usr/bin/perl myld gcc-4.2 -mmacosx-version-min=10.6.3  -arch x86_64 -arch i386 -arch ppc -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 -lpthread   \

chmod 755 blib/arch/auto/DBD/mysql/mysql.bundle
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
Manifying blib/man3/DBD::mysql.3pm
Manifying blib/man3/DBD::mysql::INSTALL.3pm
Manifying blib/man3/Bundle::DBD::mysql.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
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/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Users/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle, 2): Library not loaded: libmysqlclient.18.dylib
#   Referenced from: /Users/jerickson/.cpanm/work/1314049977.98062/DBD-mysql-4.020/blib/arch/auto/DBD/mysql/mysql.bundle
#   Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
#  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
-> FAIL Installing DBD::mysql failed. See /Users/jerickson/.cpanm/build.log for details.

I have since tried sudo cpanm -Sf DBD::mysql. Using the force flag, cpanm says that it was installed successfully, however trying to run a script that includes connecting to a MySQL database results with this error:

Running...
install_driver(mysql) failed: Can't load '/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql: dlopen(/Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle, 1): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Perl/5.10.0/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle
  Reason: image not found at /System/Library/Perl/5.10.0/darwin-thread-multi-2level/DynaLoader.pm line 207.
 at (eval 6) line 3
Compilation failed in require at (eval 6) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at roster_generate.pl line 33

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梅倚清风 2024-12-07 15:19:15

啊,我可以通过将

export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

添加到我的 .bash_profile 来修复它。我在一些随机博客上发现了这个。有人知道为什么这有效吗?

Ah, I was able to fix it by adding

export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/"

to my .bash_profile. I found this on some random blog. Anyone know why this worked??

土豪我们做朋友吧 2024-12-07 15:19:15

我在 Snow Leopard 上做了以下工作。这是黑暗时代的一个古老的 Linux 技巧,称为符号链接。

cd /usr/lib
sudo ln -sv /usr/local/mysql/lib/*.dylib 。

不要乱设置环境变量 DYLD_LIBRARY_PATH,因为 sudo 不会尊重并给你一个启动消息。

我(最终)能够编译 DBD::mysql 和其他一些东西。

祝你好运。

I got the following to work on Snow Leopard. It's an old linux trick from the Dark Ages called symlinks.

cd /usr/lib
sudo ln -sv /usr/local/mysql/lib/*.dylib .

Don't mess with setting the environment variable DYLD_LIBRARY_PATH because sudo will not respect and give you a pissy message to boot.

I was able to (finally) compile DBD::mysql and a few other things.

Good luck.

初见 2024-12-07 15:19:15

对于使用 Mac OSX Mavericks 的任何人,以下是我最终使该模块正常工作所用的步骤。

首先,如果已经安装了 DBD::mysql,请卸载它。

sudo cpanm -U DBD::mysql

运行以下命令链接 MySQL lib 文件。正如 jjohn 提到的,设置变量 DYLD_LIBRARY_PATH 将不起作用。

cd /usr/lib
sudo ln -sv /usr/local/mysql/lib/*.dylib .

重新安装 DBD::mysql(-n 标志跳过测试阶段)。

sudo cpanm -n DBD::mysql

就是这样!

为了更好地衡量,我还将 Perl 配置为在 32 位模式下运行,并重新启动了 Apache。但是,我不确定是否需要这些步骤。以下是分别执行此操作的命令:

defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes
sudo apachectl restart

For anyone using Mac OSX Mavericks, here are the steps I used to finally get this module working.

First, uninstall DBD::mysql if it is already installed.

sudo cpanm -U DBD::mysql

Run the following commands to link the MySQL lib files. As jjohn mentioned, setting the variable DYLD_LIBRARY_PATH will not work.

cd /usr/lib
sudo ln -sv /usr/local/mysql/lib/*.dylib .

Re-install DBD::mysql (the -n flag skips the testing phase).

sudo cpanm -n DBD::mysql

That's it!

For good measure, I also configured Perl to run in 32-bit mode, and I restarted Apache. However, I am not sure if these steps are required. Here are the commands to do this, respectively:

defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes
sudo apachectl restart
简单爱 2024-12-07 15:19:15

我最近尝试自己在完全不同的机器上安装 DBD::mysql 软件包,但出现相同的错误。安装程序需要 mysql-devel 包中的某些库,不幸的是它没有告诉你这一点。使用 yum 安装这个 mysql-devel 包后,安装没有任何问题。

我想通过设置 DYLD_LIBRARY_PATH 变量,安装程序也会在 /usr/local/mysql/lib/ 中查找以找到所需的库。

I recently tried to install the DBD::mysql package myself on a entirely different machine with the same error. The installer needs certain libraries from the mysql-devel package, unfortunately it doesn't tell you this. After installing this mysql-devel package with yum the installation went without any problem.

I guess by setting the DYLD_LIBRARY_PATH variable the installer looks in /usr/local/mysql/lib/ too in order to find the required libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文