如果 Perl 报告找不到
../mysql/mysql.so
模块,问题可能是 Perl 找不到
libmysqlclient.so
共享库。您应该能够通过以下方法之一解决此问题:
-L
请注意,如果链接器无法找到其他库
,您可能还需要修改选项。例如,如果链接器找不到
libc
,因为它在/lib
并且链接命令指定-L/usr/lib
,请将-L
选项更改为-L/lib
或添加
-L/lib
到现有链接命令。
如果您从 中得到以下错误
DBD::mysql
,您可能正在使用
gcc (或使用用gcc编译的旧二进制文件
):
/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'
在构建库时添加-L/usr/lib/gcc-lib/... -lgcc
到链接命令(在编译 Perl 客户端时检查make的
mysql.so
输出)。该选项应指定系统上目录的路径名。
mysql.so
-L
libgcc.a
这个问题的另一个原因可能是 Perl 和 MySQL 不是都用gcc 编译的。在这种情况下,您可以通过使用gcc进行编译来解决不匹配问题。