Skip Menu |

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

Report information
The Basics
Id: 49802
Status: resolved
Priority: 0/
Queue: DBD-DB2

People
Owner: opendev [...] us.ibm.com
Requestors: daniel [...] crisman.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.74
Fixed in: (no value)



Subject: Lack of needed spaces in $opts{INC}
In Makefile.PL on line 76-79 $opts{INC} is built up to include from one to four strings. They do not include a space between the arguments so it can end with a command like so: ...-I"PATH/include" -I"ONE" -I"TWO"-I"THREE"-I"FOUR"... Notice that '-I"THREE"' has no space before it, similar for the FOUR block. At least THREE and FOUR get ignored, probably TWO as well. The attached patch adds a space at the beginning of the qq() on line 76 and one at the end of the qq() on lines 77-79 so that they have internal spaces and also have a space at then beginning and end of that whole string (I don't know if 76 & 79 are needed, but they caused no problems for my build).
Subject: patch_DBD-DB2-1.74_include_spaces_2009-09-17.diff
diff -ur DBD-DB2-1.74/Makefile.PL DBD-DB2-1.74_1/Makefile.PL --- DBD-DB2-1.74/Makefile.PL 2009-08-10 05:22:02.000000000 -0400 +++ DBD-DB2-1.74_1/Makefile.PL 2009-09-17 22:29:04.000000000 -0400 @@ -73,10 +73,10 @@ print qq(Using DB2 in "$DB2"\n); # --- Setup include paths and libraries -$opts{INC} .= qq(-I"$DB2/include" -I"$Config{sitearchexp}/auto/DBI" ); -$opts{INC} .= qq(-I"$Config{installarchlib}/auto/DBI") if $Config{installarchlib}; -$opts{INC} .= qq(-I"$Config{installvendorarch}/auto/DBI") if $Config{installvendorarch}; -$opts{INC} .= qq(-I"$Config{installsitearch}/auto/DBI") if $Config{installsitearch}; +$opts{INC} .= qq( -I"$DB2/include" -I"$Config{sitearchexp}/auto/DBI" ); +$opts{INC} .= qq(-I"$Config{installarchlib}/auto/DBI" ) if $Config{installarchlib}; +$opts{INC} .= qq(-I"$Config{installvendorarch}/auto/DBI" ) if $Config{installvendorarch}; +$opts{INC} .= qq(-I"$Config{installsitearch}/auto/DBI" ) if $Config{installsitearch}; $opts{dynamic_lib} = { OTHERLDFLAGS => '$(COMPOBJS) '}; # libraries required to build DBD::DB2 driver
RT-Send-CC: opendev [...] us.ibm.com
Thanks for reporting this Bug. Would include this in the next release. On Thu Sep 17 22:44:47 2009, namsirc wrote: Show quoted text
> In Makefile.PL on line 76-79 $opts{INC} is built up to include from one > to four strings. They do not include a space between the arguments so > it can end with a command like so: > ...-I"PATH/include" -I"ONE" -I"TWO"-I"THREE"-I"FOUR"... > Notice that '-I"THREE"' has no space before it, similar for the FOUR > block. At least THREE and FOUR get ignored, probably TWO as well. > > The attached patch adds a space at the beginning of the qq() on line 76 > and one at the end of the qq() on lines 77-79 so that they have internal > spaces and also have a space at then beginning and end of that whole > string (I don't know if 76 & 79 are needed, but they caused no problems > for my build).
-- Thanks Tarun Pasrija IBM OpenSource Application Development Team India Software Labs, Bangalore (India)
Fix available in version 1.75 -- Thanks Praveen IBM OpenSource Application Development Team India Software Labs, Bangalore (India)