由于重新升级了macports,Perl更新l到5.10.1,原先的CPAN库要重装。不使用系统的Perl是因为避免今后OSX更新导致的问题。在DBD-Mysql make test时出现: # Failed
I install DBD-mysql in win8 environment, but it shows error as follows.
I use ActivePerl 5.10, mysql 5.5. Can anyone help me?
In fact, I don't want to install from source. But it is not easy to find a ppm package.
If some system path not added, then it would be easy to handle. But this error showed some windows library needed, then I really don't know how to set and where to set this, because this means I should change the source code of DBD-mysql? But each time I use the ' perl -MCPAN -e "install DBD::mysql" ' command to install, it downloads a new DBD-mysql package, so even I modified the code locally, it would be of no use.
Creating library blib\arch\auto\DBD\mysql\mysql.lib and object blib\arch\auto
\DBD\mysql\mysql.exp
mysqlclient.lib(handshake_client.obj) : error LNK2019: unresolved external symbo
l __imp__InitializeSecurityContextW@48 referenced in function "public: virtual c
lass Blob __thiscall Handshake_client::process_data(class Blob const &)" (?proce
ss_data@Handshake_client@@UAE?AVBlob@@ABV2@@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Comp
leteAuthToken@8 referenced in function "protected: bool __thiscall Handshake::pr
ocess_result(int)" (?process_result@Handshake@@IAE_NH@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Free
ContextBuffer@4 referenced in function "public: void __thiscall Security_buffer:
:free(void)" (?free@Security_buffer@@QAEXXZ)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol _Acqu
ireCredentialsHandleA@36 referenced in function "public: __thiscall Handshake::H
andshake(char const *,enum Handshake::side_t)" (??0Handshake@@QAE@PBDW4side_t@0@
@Z)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol __imp
__DeleteSecurityContext@4 referenced in function "public: virtual __thiscall Han
dshake::~Handshake(void)" (??1Handshake@@UAE@XZ)
mysqlclient.lib(handshake.obj) : error LNK2019: unresolved external symbol __imp
__FreeCredentialsHandle@4 referenced in function "public: virtual __thiscall Han
dshake::~Handshake(void)" (??1Handshake@@UAE@XZ)
mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol _GetUser
NameExW@12 referenced in function "public: __thiscall UPN::UPN(void)" (??0UPN@@Q
AE@XZ)
blib\arch\auto\DBD\mysql\mysql.dll : fatal error LNK1120: 7 unresolved externals
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : return code '0x1'
Stop.
CAPTTOFU/DBD-mysql-4.028.tar.gz
nmake -- NOT OK
mysql
perl
perl-module
dbd
|
this question
edited Nov 7 '14 at 14:17
Praveen 757 4 15 asked Nov 7 '14 at 13:11
coo 91 9
|
1 Answers
1
At last, I solve it. Environment must first be noted: Win8.1 + ActivePerl 5.16 + Mysql 5.5.
1) Open the windows command line, run:
set path=%path%;D:\Program Files (x86)\MySQL\MySQL Server 5.5\bin
2) Config mysql database, add a new user with UserName='ODBC', and password setted as NULL.
3) cd into:
D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib
and create a subdir as “opt”;Perl中DBI、DBD::mysql模块的安装 使用的软件版本 DBI-1.604.tar.gz DBD-mysql-4.006.tar.gz 一、DBI的安装 wget http://www.cpan.org/modules/by-module/DBD/D
4) Install strawberry perl, copy libmysql.a and libmysql_.dll to
D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\opt;
5) Uninstall strawberry;
6) set path=%path%;D:\Program Files (x86)\MySQL\MySQL Server 5.5\lib\opt
7) run command in the same command line console:
perl -MCPAN -e "install DBD::mysql"
Everything is ok now.
|
this answer answered Nov 8 '14 at 4:21
coo 91 9
|
安装步骤:Perl安装DBDmysql操作mysql数据库 DBI已经成功安装。 安装完DBD后运行脚本 报错: install_driver(mysql) failed: Can't load '/usr/lib64/perl5/site_