当我尝试下面的perl脚本时,出现“perl:symbol lookup error”错误。它看起来是否我修改PATH目前我可以解决这个问题。但我不确定我应该为PATH带来什么样的自由。请让我知道,如果您对此问题有任何不同的解决方案或解决方法,我该如何解决此问题并随时分享。符号查找错误未定义符号:mysql_init
[[email protected]]# ./create_defs.pl --user root --password amma --db=d1 --table=tbl1
**perl: symbol lookup error: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so: undefined symbol: mysql_init**
[[email protected]]# ll /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so
-r-xr-xr-x 1 root root 333965 Sep 12 13:05 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBD/mysql/mysql.so
[[email protected]]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/root/bin
从评论
这里是我的服务器的perl的版本,所以我怎么解决这个问题?
[[email protected] lib]# perl -v
This is perl, v5.8.8 built for x86_64-linux-thread-multi
从评论
感谢您回复。以下是我用来做安装
perl -MCPAN -e 'install Bundle::DBI'
perl -MCPAN -e 'install DBD::mysql'
perl -MCPAN -e 'install Bundle::DBD::mysql'
perl -MCPAN -e 'DBI' perl -MCPAN -e 'DBD::mysql'
perl -MCPAN -e 'install perl-DBD-MySQL'
install Bundle::Mysql
以下是我使用的命令的命令,你可以请指导我如何清除所有的Perl模块,做了重新安装。
有可能的错误。 首先在你的脚本中使用'strict;'。 其次,mysql驱动安装有错误。 probe'find/-name mysql.so' – 2014-10-03 22:12:23
@DenisKohl - OP的帖子显示'mysql.so'文件确实存在。在[前一个问题](https://stackoverflow.com/questions/13226772/usr-bin-perl-symbol-look-up-error-undefined-symbol-perl-istack-sp-ptr)这种性质,它是指出这个错误通常是由于正在编译的Perl版本不同于当前运行的版本而引起的。 – 2014-10-03 22:26:07
[root @ localhost lib]#perl -v 这是为x86_64-linux-thread-multi构建的perl,v5.8.8 这是我的服务器中的perl版本,所以如何解决这个问题。 – user3933779 2014-10-03 22:47:09