免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: limits999
打印 上一主题 下一主题

DBD::mysql模块的安装失败 [复制链接]

论坛徽章:
42
19周年集字徽章-周
日期:2019-10-14 14:35:31平安夜徽章
日期:2015-12-26 00:06:30数据库技术版块每日发帖之星
日期:2015-12-01 06:20:002015亚冠之首尔
日期:2015-11-04 22:25:43IT运维版块每日发帖之星
日期:2015-08-17 06:20:00寅虎
日期:2014-06-04 16:25:27狮子座
日期:2014-05-12 11:00:00辰龙
日期:2013-12-20 17:07:19射手座
日期:2013-10-24 21:01:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34IT运维版块每日发帖之星
日期:2016-01-27 06:20:0015-16赛季CBA联赛之新疆
日期:2016-06-07 14:10:01
21 [报告]
发表于 2014-05-19 20:30 |只看该作者
activeperl高版本不再提供DBD-mysql的ppm源了.
不过自己装应该帮助更大吧.
kernel32哪些明显是windows的库,估计是64位和32位的路径不一样

论坛徽章:
0
22 [报告]
发表于 2014-05-19 20:52 |只看该作者
laputa73 发表于 2014-05-19 20:30
activeperl高版本不再提供DBD-mysql的ppm源了.
不过自己装应该帮助更大吧.
kernel32哪些明显是windows的库 ...

现在就不知道到哪里去获取这些库了,整个电脑里都没有这些库,我搜索了。
缺的库这么多,网上也没找着可下载的,感觉有点无从下手了

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
23 [报告]
发表于 2014-05-19 22:26 |只看该作者
回复 22# limits999
我之所以给你推荐的没测试过的google关键词是-lmoldname dll,是因为我知道Windows下的动态链接库是以.dll结尾的,但是不确定前面有没有lib,也就是在Linux下面,动态链接库的名字前面有lib,后缀是.so,但是Windows下我知道后缀,不确定是否也有前缀。我现在确定了Windows的动态链接库好像是没有前缀的。
所以,你可以把我推荐的没有用处的关键词换成kernel32.dll这样有用的关键词,这次是经过测试很好用的关键词(当然我不可能每个都测试一下,我只测试了这一个)
   

论坛徽章:
0
24 [报告]
发表于 2014-05-20 08:16 |只看该作者
Monox 发表于 2014-05-19 22:26
回复 22# limits999
我之所以给你推荐的没测试过的google关键词是-lmoldname dll,是因为我知道Windows下 ...


已经安装您的方法,下载了所有能下载的库文件(只有一两个缺失的),并且把这些库文件放置在了指定的libs目录下,但提示的错误仍然一样。

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
25 [报告]
发表于 2014-05-20 08:55 |只看该作者
limits999 发表于 2014-05-20 08:16
下载了所有能下载的库文件(只有一两个缺失的),并且把这些库文件放置在了指定的libs目录下,但提示的错误仍然一样。

对此种描述,我只能说那我也无能为力了,(比如你所说的错误也包括那些找不到库的warnings吗?如果包括,那为什么你的-lmsql没有warnings了呢?如果不包括,之前就说了,一个error并不能提供足够的解决问题的信息)我可以说我只熟悉Linux系统,对Windows系统一窍不通吗?

论坛徽章:
0
26 [报告]
发表于 2014-05-20 09:16 |只看该作者
Monox 发表于 2014-05-20 08:55
对此种描述,我只能说那我也无能为力了,(比如你所说的错误也包括那些找不到库的warnings吗?如果包括, ...


我描述的不太清楚吧,那些warning也一样的出现,就是没在那个文件夹下找到对应的库文件。可我已经把那些库文件放置在文件夹下了,并且成功指定了库文件所在的路径。

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
27 [报告]
发表于 2014-05-20 11:34 |只看该作者
回复 26# limits999

我已经自己认定能力有限不足以帮你解决这个问题了,所以应该不会再回复这个帖子了。(注意是我能力有限喔,不是没耐心喔,不是说Perler都很有耐心吗),不过,为了方便其他能力比我强的好心人解决你的问题(Perl版的能力比我强的好心人还是蛮多的),我建议你把你在一楼帖出的

  1.     D:\perl\bin\perl.exe myld g++ -o blib\arch\auto\DBD\mysql\mysql.dll -Wl,--base-file -Wl,dll.base -mdll -s -static-libgcc
  2. -static-libstdc++ -L"D:\perl\lib\CORE" -L"C:\MinGW\x86_64-w64-mingw32\lib" dbdimp.o    mysql.o   D:\perl\lib\CORE\libpe
  3. rl518.a -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32
  4. -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
复制代码
对应的最新的输出帖一下,然后把所有-L所提到的目录下面的文件都列出来,虽然我能力有限,但是我相信我建议你帖出来的东西会对能力比我强的好心人解决你的问题有帮助的。

论坛徽章:
0
28 [报告]
发表于 2014-05-20 14:40 |只看该作者
本帖最后由 limits999 于 2014-05-20 14:55 编辑
Monox 发表于 2014-05-20 11:34
回复 26# limits999

我已经自己认定能力有限不足以帮你解决这个问题了,所以应该不会再回复这个帖子了。 ...


非常感谢了。我把新指定路径后的所有代码已经相关文件夹目录都贴出来吧。相关文件目录放后面一楼了。
  1. C:\Users\Administrator>d:

  2. D:\>cd D:\perl\DBD-mysql-4.027

  3. D:\perl\DBD-mysql-4.027>perl Makefile.PL --cflags=D:\mysql\mysql-5.5.25-winx64\include --libs=D:\mysql\mysql-5.5.25-winx
  4. 64\lib  --testhost=localhost --testuser=root  --testpassword=111111  --testdb=test

  5. mysql_config.pl, and an associated bat file, has been
  6. successfully created under
  7.    D:\mysql\MYSQL-~1.25-\bin

  8. Unknown option: testsocket
  9. Unknown option: testport
  10. Unknown option: nocatchstderr
  11. Unknown option: ssl
  12. Unknown option: nofoundrows
  13. Unknown option: force-embedded
  14. I will use the following settings for compiling and testing:

  15.   cflags        (User's choice) = D:\mysql\mysql-5.5.25-winx64\include
  16.   embedded      (mysql_config ) =
  17.   libs          (User's choice) = D:\mysql\mysql-5.5.25-winx64\lib
  18.   mysql_config  (guessed      ) = mysql_config
  19.   nocatchstderr (default      ) = 0
  20.   nofoundrows   (default      ) = 0
  21.   ssl           (guessed      ) = 0
  22.   testdb        (User's choice) = test
  23.   testhost      (User's choice) = localhost
  24.   testpassword  (User's choice) = 111111
  25.   testport      (default      ) =
  26.   testsocket    (default      ) =
  27.   testuser      (User's choice) = root

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

  30. Checking if your kit is complete...
  31. Looks good
  32. Warning (mostly harmless): No library found for -lmoldname
  33. Warning (mostly harmless): No library found for -lkernel32
  34. Warning (mostly harmless): No library found for -luser32
  35. Warning (mostly harmless): No library found for -lgdi32
  36. Warning (mostly harmless): No library found for -lwinspool
  37. Warning (mostly harmless): No library found for -lcomdlg32
  38. Warning (mostly harmless): No library found for -ladvapi32
  39. Warning (mostly harmless): No library found for -lshell32
  40. Warning (mostly harmless): No library found for -lole32
  41. Warning (mostly harmless): No library found for -loleaut32
  42. Warning (mostly harmless): No library found for -lnetapi32
  43. Warning (mostly harmless): No library found for -luuid
  44. Warning (mostly harmless): No library found for -lws2_32
  45. Warning (mostly harmless): No library found for -lmpr
  46. Warning (mostly harmless): No library found for -lwinmm
  47. Warning (mostly harmless): No library found for -lversion
  48. Warning (mostly harmless): No library found for -lodbc32
  49. Warning (mostly harmless): No library found for -lodbccp32
  50. Warning (mostly harmless): No library found for -lcomctl32
  51. Using DBI 1.631 (for perl 5.018002 on MSWin32-x64-multi-thread) installed in D:/perl/site/lib/auto/DBI/
  52. Generating a dmake-style Makefile
  53. Writing Makefile for DBD::mysql
  54. Writing MYMETA.yml and MYMETA.json

  55. D:\perl\DBD-mysql-4.027>
复制代码
  1. D:\perl\DBD-mysql-4.027>dmake test
  2. cp lib/Bundle/DBD/mysql.pm blib\lib\Bundle\DBD\mysql.pm
  3. cp README.pod blib\lib\DBD\README.pod
  4. cp lib/DBD/mysql/GetInfo.pm blib\lib\DBD\mysql\GetInfo.pm
  5. cp lib/DBD/mysql.pm blib\lib\DBD\mysql.pm
  6. cp lib/DBD/mysql/INSTALL.pod blib\lib\DBD\mysql\INSTALL.pod
  7. Running Mkbootstrap for DBD::mysql ()
  8. D:\perl\bin\perl.exe -MExtUtils::Command -e chmod -- 644 mysql.bs
  9. gcc -c  -ID:\perl\site\lib\auto\DBI D:\mysql\mysql-5.5.25-winx64\include -DDBD_M
  10. DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL
  11. USE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"4.027\"
  12. ORE"   dbdimp.c
  13. In file included from dbdimp.c:20:0:
  14. dbdimp.h:21:49: fatal error: mysql.h: No such file or directory
  15. #include <mysql.h>  /* Comes with MySQL-devel */
  16.                                                  ^
  17. compilation terminated.
  18. dmake:  Error code 129, while making 'dbdimp.o'

  19. D:\perl\DBD-mysql-4.027>

复制代码

  1. D:\perl\DBD-mysql-4.027>dmake install
  2. gcc -c  -ID:\perl\site\lib\auto\DBI D:\mysql\mysql-5.5.25-winx64\include -DDBD_MYSQL_INSERT_ID_IS_GOOD -g       -s -O2 -
  3. DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -D
  4. USE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"4.027\"   -DXS_VERSION=\"4.027\"  "-ID:\perl\lib\C
  5. ORE"   dbdimp.c
  6. In file included from dbdimp.c:20:0:
  7. dbdimp.h:21:49: fatal error: mysql.h: No such file or directory
  8. #include <mysql.h>  /* Comes with MySQL-devel */
  9.                                                  ^
  10. compilation terminated.
  11. dmake:  Error code 129, while making 'dbdimp.o'

  12. D:\perl\DBD-mysql-4.027>







复制代码

论坛徽章:
0
29 [报告]
发表于 2014-05-20 15:02 |只看该作者
本帖最后由 limits999 于 2014-05-20 15:05 编辑

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
30 [报告]
发表于 2014-05-20 17:00 |只看该作者
回复 28# limits999


    好吧,虽然我自认为能力不够。但是,只要满足两点我还是很乐意替别人解答问题的。
第一,不要自己没有相当的自信和足够的依据就随便认为我所说的原因可能不是问题发生的原因(之一)。关于这一点还是经常在Perl论坛被新人质疑的,所以我一般都不太乐意回答自以为是的新人(这样的新人真不少)的提问。
第二,不要随便无视我的建议,这样我肯定没有继续回答问题的意愿。
  事实上在不同程度上,上面提到的两点你都违背了,所以我之前才不怎么想继续解答你的问题的。不过另一方面,我是比较(相对来说)好说话的,既然你又把完整的出错信息帖出来了,我就可以很简单的原谅你之前自以为可以无视我建议你贴出足够信息的事,而只回答说出错信息是一样的这样一个简单的回答。在你看来出错信息是一样的,但是对别人来说(比如我)就不一定是一样的。你说得那么坚定,首先不提我上面提到的两点,就算我想继续回答你的问题我都没什么可以说的了嘛。

另一方面,回到你的问题
  1. D:\perl\DBD-mysql-4.027>perl Makefile.PL --cflags=D:\mysql\mysql-5.5.25-winx64\include --libs=D:\mysql\mysql-5.5.25-winx
  2. 64\lib  --testhost=localhost --testuser=root  --testpassword=111111  --testdb=test
复制代码

  1. [code]I will use the following settings for compiling and testing:

  2.   cflags        (User's choice) = D:\mysql\mysql-5.5.25-winx64\include
  3.   embedded      (mysql_config ) =
  4.   libs          (User's choice) = D:\mysql\mysql-5.5.25-winx64\lib
复制代码

  1. [code]gcc -c  -ID:\perl\site\lib\auto\DBI D:\mysql\mysql-5.5.25-winx64\include -DDBD_M
  2. DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL
  3. USE_PERLIO -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"4.027\"
  4. ORE"   dbdimp.c
  5. In file included from dbdimp.c:20:0:
  6. dbdimp.h:21:49: fatal error: mysql.h: No such file or directory
  7. #include <mysql.h>  /* Comes with MySQL-devel */
复制代码
在解决找不到你那些库之前你先就得解决找不到mysql.h头文件的问题。
事实上,之所以提示找不到头文件是因为你的参数设错了。你的cflags设的时候那个D之前要加一个大写的I才行。
所以大概libs这个参数也设错了,不过这个应该设成什么格式从你现在的出错信息要看不出来(因为我没有也懒得看DBD::mysql的源代码嘛)。所以要等你解决头文件的问题以后再把新的出错信息(其实不仅包括出错信息了。再说一遍,只有出错信息本身的话,我的能力有限,没办法解决任何问题)帖出来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP