免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5789 | 回复: 9
打印 上一主题 下一主题

mysqlhotcopy出错与DBD::mysql有关[解决] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-16 09:58 |只看该作者 |倒序浏览
mysql-5.0.41源代码安装:
#./mysqlhotcopy abc /home/123/
mysqlhotcopy: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: mysql_server_init

什么意思??????

[ 本帖最后由 权老实 于 2007-8-17 23:28 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-08-16 11:04 |只看该作者
刚查了原来的笔记:
DBD::mysql 是也是源代码安装
DBD-MYSQL-4.00.4.tar.gz
$ perl Makefile.PL --cflags=-I/usr/local/mysql/include/mysql
--libs=-L/usr/local/mysql/lib/mysql --mysql_config=/usr/local/mysql/bin/mysql_config
; make; make test  make install;
不过,在make test 时好像有点小错误:
install_driver(mysql) failed: Can't load '/home/cbs/SF/DBD-mysql-4.004/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: /home/cbs/SF/DBD-mysql-4.004/blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: mysql_fetch_field at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230

“filed 26/28 test scripts
   415/418 subtest faild
make: XXXXXX [test_dyamic]错误????
难道是它?????

[ 本帖最后由 权老实 于 2007-8-16 11:06 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-08-16 19:50 |只看该作者
重新安装DBI DBD::mysql
还是同样题
./mysqlhotcopy abc /home/123
mysqlhotcopy: symbol lookup error: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: mysql_server_init

???????

论坛徽章:
0
4 [报告]
发表于 2007-08-16 20:59 |只看该作者
要安装dbd-mysql的lib包,搜一下光盘,或者去rpmfind.net找

论坛徽章:
0
5 [报告]
发表于 2007-08-16 22:21 |只看该作者
是这个包吗?libdbi-dbd-mysql?
我的mysql 是用源代码安的,还需这个lib吗??

论坛徽章:
0
6 [报告]
发表于 2007-08-16 22:52 |只看该作者
再次重新编译安装DBD-mysql时出错:
t/utf8...............install_driver(mysql) failed: Can't load '/root/.cpan/build/DBD-mysql-4.005-K7TADK/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: libmysqlclient.so.15: 无法打开共享对象文件: 没有那个文件或目录 at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.

usr/local/mysql/lib/mysql/libmysqlclient.so.15与路径有关吧?
请教!!!!!!

论坛徽章:
0
7 [报告]
发表于 2007-08-17 15:24 |只看该作者
查install.html
2)
If Perl was compiled with gcc or egcs, but MySQL was compiled with another compiler or on another system, an error message like this is very likely when running ``Make test'':

  t/00base............install_driver(mysql) failed: Can't load
  '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql:
  ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: _umoddi3
  at /usr/local/perl-5.005/lib/5.005/i586-linux-thread/DynaLoader.pm
  line 168.

This means, that your linker doesn't include libgcc.a. You have the following options:

The solution is telling the linker to use libgcc. Run

  gcc --print-libgcc-file

to determine the exact location of libgcc.a or for older versions of gcc

  gcc -v

to determine the directory. If you know the directory, add a

  -L<directory> -lgcc

to the list of C compiler flags. Configuration. Linker flags.
---------------------------

$gcc-print-libgcc-file
/usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc.a

$perl Makefile.PL --libs="-L/usr/local/mysql/lib/mysql " --cflags=-I/usr/local/mysql/include/mysql  --testhost=127.0.0.1 --mysql_config=/usr/local/mysql/bin/mysql_config
如何指定libgcc.a???????

论坛徽章:
0
8 [报告]
发表于 2007-08-17 22:12 |只看该作者
都用rpm包上装吧,多省心,或者用apt/yum之类的

论坛徽章:
0
9 [报告]
发表于 2007-08-17 22:59 |只看该作者
原帖由 yejr 于 2007-8-17 22:12 发表
都用rpm包上装吧,多省心,或者用apt/yum之类的




说的极是,以后不在自己编译源代码啦!!

论坛徽章:
0
10 [报告]
发表于 2007-08-17 23:26 |只看该作者
已解决,现 说一下所遇到的情况:(centos 源码安装的mysql )
1)如在make 阶段出错
   (1)类、、、、make: *** [dbdimp.o] 错误 1
多半是库文件的问题,(--cflags=-I/usr/local/mysql/include/mysq 细查,少个“y"
   (2)类 LD_RUN_PATH="/usr/lib/mysql:/lib:/usr/lib" gcc
    -o blib/arch/auto/DBD/mysql/mysql.so  -shared
    -L/usr/local/lib dbdimp.o mysql.o -L/usr/lib/mysql
    -lmysqlclient -lm -L/usr/lib/gcc-lib/i386-redhat-linux/2.96
    -lgcc -lz
  /usr/bin/ld: cannot find -lz
  collect2: ld returned 1 exit status
  make: *** [blib/arch/auto/DBD/mysql/mysql.so] Error 1
  与压缩包有关。可用 ldconfig -p | grep libz
                     ldconfig -p | grep libgz
   查找,如有并指定路径!否则安装 libz-devel/ibgz-devel/zlib-devel/    gzlib-devel
2)在make test 阶段出错:
  (1)类: install_driver(mysql) failed: Can't load
  '/usr/lib/perl5/site_perl/i586-linux/auto/DBD/mysql/mysql.so'
  for module DBD::mysql: File not found at
  /usr/lib/perl5/i586-linux/5.00404/DynaLoader.pm line 166
  与 /usr/lib/mysql/libmysqlclient.a有关 (cp libmysqlclient.a /us/lib)
  (2)类: t/00base............install_driver(mysql) failed: Can't load
  '../blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql:
  ../blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: _umoddi3
  at /usr/local/perl-5.005/lib/5.005/i586-linux-thread/DynaLoader.pm
  line 168.
  与libgcc.a 有关 (cp /usr/lib/gcc/i386-redhat-linux/4.1.1/libgcc.a /usr/local/lib/
  (3) 类:Can't load  libmysqlclient.so.15 、、、、
     (cp libmysqlclient.so.15 /us/lib)
----------------------------------------
$perl Makefile.PL  --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -L/usr/lib -lz " --cflags=-I/usr/local/mysql/include/mysql  --mysql_config=/usr/local/mysql/bin/mysql_config  --testhost=127.0.0.1--testsocket=/usr/local/mysql/tmp/mysql.sock --testdb=test --testuser=abc --testpassword=abc
------------------
$
; make; make test ;sudo  make install;
-------------------------------
参考:
http://dev.mysql.com/doc/refman/5.0/en/perl-support-problems.html
INSTALL.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP