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.