MySQL 8.4 Release Notes
2.10.3 使用 Perl DBI/DBD 接口时出现的问题
如果 Perl 报告说它无法找到 ../mysql/mysql.so
模块,问题的可能原因是 Perl 无法找到 libmysqlclient.so
共享库。您可以通过以下方法之一来解决这个问题:
请注意,您可能还需要修改 -L
选项,以便解决其他库找不到的问题。例如,如果连接器无法找到 libc
,因为它在 /lib
中,而连接命令指定了 -L/usr/lib
,那么将 -L
选项更改为 -L/lib
,或将 -L/lib
添加到现有连接命令中。
如果您收到以下错误信息,您可能使用的是 gcc(或使用了使用 gcc 编译的旧版本的二进制文件):
/usr/bin/perl: can't resolve symbol '__moddi3'
/usr/bin/perl: can't resolve symbol '__divdi3'
将 -L/usr/lib/gcc-lib/... -lgcc
添加到 mysql.so
库在编译时的连接命令中(检查 make 命令的输出以获取 mysql.so
的编译结果)。 -L
选项应该指定 libgcc.a
所在目录的路径。
另一个可能的原因是 Perl 和 MySQL 都没有使用 gcc 编译。在这种情况下,您可以通过使用 gcc 编译来解决不匹配问题。