Skip Menu |

This queue is for tickets about the DBD-mysql CPAN distribution.

Report information
The Basics
Id: 116959
Status: resolved
Priority: 0/
Queue: DBD-mysql

People
Owner: MICHIELB [...] cpan.org
Requestors: jplesnik [...] redhat.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 4.035
Fixed in: 4.035_03



Subject: DBD-mysql does not build with ssl be default
I ran 'perl Makefile.PL' without any argument, but ssl was not enabled. # perl Makefile.PL ... I will use the following settings for compiling and testing: cflags (mysql_config) = -I/usr/include/mysql embedded (guessed ) = ldflags (mysql_config) = libs (mysql_config) = -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto mysql_config (guessed ) = mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 nossl (choice ) = 1 testdb (default ) = test testhost (default ) = testpassword (default ) = testport (default ) = testsocket (default ) = testuser (guessed ) = root To change these settings, see 'perl Makefile.PL --help' and 'perldoc DBD::mysql::INSTALL'. ... The problem is probably default value of 'nossl', because it is always 1. I attach the patch with fix
Subject: DBD-mysql-4.035-Fix-nossl-option.patch
diff -up DBD-mysql-4.035/Makefile.PL.orig DBD-mysql-4.035/Makefile.PL --- DBD-mysql-4.035/Makefile.PL.orig 2016-08-15 16:14:00.369948533 +0200 +++ DBD-mysql-4.035/Makefile.PL 2016-08-15 16:14:14.854887074 +0200 @@ -35,7 +35,7 @@ Getopt::Long::GetOptions( "bind-type-guessing", "nocatchstderr", "ssl", - "nossl", + "nossl!", "nofoundrows!", "embedded=s", "mysql_config=s",
Hi, as far as I can see the problem is not with the value of the 'nossl' parameter, it has to do with the output of mysql_config - with libmariadb mysql_config returns: libs (mysql_config) = -L/usr/lib64/mysql -lmysqlclient -lpthread -lz -lm -ldl -lssl -lcrypto This results in: nossl (choice ) = 1 Using Oracle libmysqlclient it is: libs (mysql_config) = -L/usr/local/Cellar/mysql-connector-c/6.1.6/lib -lmysqlclient nossl (default ) = 0 I'm looking into Makefile.PL logic to see what needs to change. -- Michiel
From: jplesnik [...] redhat.com
It seems the problem is here, because 'ssl' string is found in libmariadb config. 682 elsif ($param eq "nossl") { 683 $opt->{$param} = ($opt->{"libs"} =~ /ssl/) ? 1 : 0; 684 $source->{$param} = $opt->{$param} ? "choice" : "default"; 685 }
On Tue 16 Aug 2016 05:12:12, jplesnik wrote: Show quoted text
> It seems the problem is here, because 'ssl' string is found in > libmariadb config. > > > 682 elsif ($param eq "nossl") { > 683 $opt->{$param} = ($opt->{"libs"} =~ /ssl/) ? 1 : 0; > 684 $source->{$param} = $opt->{$param} ? "choice" : "default"; > 685 }
Thanks! I fixed it here: https://github.com/perl5-dbi/DBD-mysql/commit/44a4c50f2cdd3ddde06289ab51636c16c9ba5c0f
Release is now on cpan: 4.035_03. If I do not get strange feedback from CPAN testers, I'll put out 4.036 next week. -- Michiel