On Thu, Jan 22, 2004 at 02:01:17PM +0000, Sean Kelly wrote: > Quoting Tim Bunce <[EMAIL PROTECTED]>: > > > p.s. Of course I'd much prefer it if you (or anyone else) could > > just find and fix the problem and send me a fix. Then you get your > > name in the Changes file :-) > > I know what the problem is, I just don't have time to fix it. > > On line 348 of Makefile.PL (from DBD-Oracle-1.15-rc2-20040112.tar.gz), > the term "build" should read "build32" for building 32bit apps from a 64bit > installation of Oracle 9i. > > I can easily use the "perl_is_64bit" function to change this term > accordinglt but the problem is that more output lines are produced when > using "build32" than when using "build". It looks like Oracle sees > the "build32" and then calls "build" with extra paramter lines.
Sending me the output (of perl Makefile.PL -v) would be very useful. Ideally after applying the patch below. > I tried messing about with the code around line 396 to add an "or @cmds > == blah" term but that on it's own didn't work. > > It appears specifc lines of the output stored in @cmds are used elsewhere > in Makefile.PL and this usage would all need changing to do something > different is perl_is_64bit is false. @cmds should end up with only one element in it and that one string is only used to set $linkwith. No other code uses @cmds. Looking at the code I see that the way it removes 'echo' commands is flawed. The "if (@cmds==2)" block is a hack to work around that flaw. Here's a patch: @@ -362,8 +362,5 @@ while ($line =~ s/\\$/ /) { $line .= shift @cmds; } # remove any echo's as the following line should be the result of the echo - if ($line =~ /^\s*echo\s+/) { - $line = shift @cmds; # replace line with the next one - $line =~ s/^echo\s+//; # handle " echo echo ..." case - } + next if $line =~ /^\s*echo\s+/; next if $line =~ /^\s*$/; # remove any blank lines push @filtered_cmds, $line; > That's as much as I can do now. That's certainly helpful. I hope you can try the patch or at least send the log of the build rule discovery using build32. Thanks. Tim.