Skip Menu |

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

Report information
The Basics
Id: 92442
Status: open
Priority: 0/
Queue: DBD-Sybase

People
Owner: Nobody in particular
Requestors: sferencik [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.15
Fixed in: (no value)



Subject: Makefile.PL: avoid picking up libct_cu.so
Here's my situation: * Linux server * /usr/lib contains libct_cu.so * /usr/lib64 contains libct.so & FreeTDS in general configure() gets confused: it calls checkLib which checks /usr/lib for the existence of /libct|libsybct/i, which libct_cu.so satisfies. It then reports that /usr/lib contains FreeTDS. Further down, we call getLibVersion, which greps /usr/lib more strictly, using /lib(syb)?ct(64)?\./ finding no SO file. It then crashes on the open(undef) call. The patch unifies the two regular expressions, making them * stricter so as not to match libct_cu * case insensitive (because one of them was like that already; presumably due to Windows) ==== //depot/QA/Toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL#7 - /ns/build/users/ferencis/0toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL ==== --- /tmp/tmp.29302.57 2014-01-24 17:55:55.000000000 +0000 +++ /ns/build/users/ferencis/0toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL 2014-01-24 17:55:10.000000000 +0000 @@ -19,6 +19,8 @@ $LINKTYPE = 'dynamic'; $written_pwd_file = 'PWD'; +my $libct_re = qr/\blib(syb)?ct(64)?\./i; + my $file; my $chained; my $threaded_libs; @@ -342,7 +344,7 @@ opendir( DIR, $lib ); # reverse to pick up libsybct before libct... - my @files = reverse( grep( /lib(syb)?ct(64)?\./, readdir(DIR) ) ); + my @files = reverse( grep( $libct_re, readdir(DIR) ) ); closedir(DIR); my $file; foreach (@files) { @@ -410,7 +412,7 @@ my $dir = shift; opendir( DIR, $dir ) || die "Can't access $dir: $!"; - my @files = grep( /libct|libsybct/i, readdir(DIR) ); + my @files = grep( $libct_re, readdir(DIR) ); closedir(DIR); if ( grep( /libsybct/, @files ) ) { $newlibnames = 1;
From: sferencik [...] gmail.com
Oops, a syntactic fix in the patch: ==== //depot/QA/Toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL#7 - /ns/build/users/ferencis/0toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL ==== --- /tmp/tmp.10252.20 2014-01-24 22:06:21.000000000 +0000 +++ /ns/build/users/ferencis/0toolbox/main.br/CPAN/DBD-Sybase/1.15/src/Makefile.PL 2014-01-24 22:04:07.000000000 +0000 @@ -19,6 +19,8 @@ $LINKTYPE = 'dynamic'; $written_pwd_file = 'PWD'; +my $libct_re = qr/\blib(syb)?ct(64)?\./i; + my $file; my $chained; my $threaded_libs; @@ -342,7 +344,7 @@ opendir( DIR, $lib ); # reverse to pick up libsybct before libct... - my @files = reverse( grep( /lib(syb)?ct(64)?\./, readdir(DIR) ) ); + my @files = reverse( grep( /$libct_re/, readdir(DIR) ) ); closedir(DIR); my $file; foreach (@files) { @@ -410,7 +412,7 @@ my $dir = shift; opendir( DIR, $dir ) || die "Can't access $dir: $!"; - my @files = grep( /libct|libsybct/i, readdir(DIR) ); + my @files = grep( /$libct_re/, readdir(DIR) ); closedir(DIR); if ( grep( /libsybct/, @files ) ) { $newlibnames = 1;