Red Hat Bugzilla – Bug 112904
undefined symbol: mysql_ssl_set
Last modified: 2007-11-30 17:06:53 EST
Description of problem:
While trying to install TIE::DBI I ran across the following problem
while doing a make test.
install_driver(mysql) failed: Can't load
for module DBD::mysql:
undefined symbol: mysql_ssl_set at
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/DynaLoader.pm line 229.
This seems to be a problem with the perl-DBD-MySQL package.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install perl-DBD-MySQL-2.1021-3
2. Compile TIE::DBI
3. make test in TIE::DBI directory
fails to load mysql DBD library
should pass test
OK, this bug is now fixed with perl-DBD-MySQL-2.1021-4 - sorry for the long
delay in processing this bug report.
The problem was, that mysql-18.104.22.168.RHEL3.1 does NOT enable SSL, but the
perl-DBD-MySQL module was compiled to enable mysql SSL support by default.
If the Tie::DBI tests were run WITHOUT the 'PERL_DL_NONLAZY=1', then they
all passed; but the default MM::Unix 'make test' command is:
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"
ie. even before the fix, if you removed the PERL_DL_NONLAZY=1, all Tie::DBI
tests succeed. But with PERL_DL_NONLAZY=1, then DynaLoader barfs with the
'undefined symbol: mysql_ssl_set' error, because libmysqlclient indeed does
not contain that symbol.
Perhaps it is time to consider rebuilding mysql for RHEL-3, with SSL enabled
(the mysql RHEL-3 rpm has not been built since 2003).
mysql's SSL support is pretty flaky even in the 4.1 branch; I shudder to think
of how well it (probably doesn't) work in 3.23.58. Rather than getting involved
in trying to support a new feature in RHEL3, I'd suggest rebuilding
perl-DBD-MySQL without SSL.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.