----- Original Message -----
From: "Brian Ingerson" <[EMAIL PROTECTED]>
To: "Sisyphus" <[EMAIL PROTECTED]>
Cc: "Inline Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, October 23, 2002 11:04 AM
Subject: Re: Hmmm:Inline-0.44/Inline::C v5.6.1 - solved ?
> On 23/10/02 09:37 +1000, Sisyphus wrote:
> > Ok ... my problem vanishes if I do the following:
> >
> > $realname =~ s/\\/\//; # change '\' to '/'
> > # a few lines further on:
> > $realname =~ s/\//\\/g; #change '/' to '\'
> > File::Spec->catfile(@endparts) eq $realname
> > or croak M28_error_grokking_path($realpath);
>
> Great. Could you send me a patch file. Just run (using cygwin):
>
> diff -u Inline.pm.orig Inline.pm.fixed > patch
>
That could take a while ... I think I have the patch utility here somewhere,
but I've never used it, and have never written a patch.
Basically we can insert '$realname =~ s/\\/\//g;' immediately above
'my $realpath = $INC{$realname}
or croak M27_module_not_indexed($realname);'
and insert '$realname =~ s/\//\\/g;' immediately above
' File::Spec->catfile(@endparts) eq $realname
or croak M28_error_grokking_path($realpath);'
and the problem goes away. Is there a need to put both of those insertions
inside a 'if ($^O eq "MSWin32"){}' block ? I guess not.
There's still a weird little problem that I've just uncovered when I try to
build my module (source in a separate file).
Seems to proceed ok until I run 'nmake test' , at which point only one of
the functions in @Export can be found - and I can't work out why it's that
specific function (as opposed to any other function) that can be found.
Running 'nmake' produces(in part) the following:
________________________
<snip>
Starting "make install" Stage
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
Installing D:\pscrpt\inline\build\BN_SSL\expt\blib\arch\auto\Math\BN_SSL\BN
_SSL.dll
Installing D:\pscrpt\inline\build\BN_SSL\expt\blib\arch\auto\Math\BN_SSL\BN
_SSL.lib
Installing D:\pscrpt\inline\build\BN_SSL\expt\blib\arch\auto\Math\BN_SSL\BN
_SSL.exp
Installing D:\pscrpt\inline\build\BN_SSL\expt\blib\arch\auto\Math\BN_SSL\BN
_SSL.bs
Writing D:\pscrpt\inline\build\BN_SSL\expt\blib\arch\auto\Math\BN_SSL\.pack
list
## Differing versions of auto/Math/BN_SSL/BN_SSL.dll found. You might like
to
rm D:\Perl\site\lib\auto\Math\BN_SSL\BN_SSL.dll
rm D:\Perl\site\lib\auto\Math\BN_SSL\BN_SSL.dll
<snip>
____________________________________
(Also got the same with Math::Simple, though the tests for it ran ok.)
Shouldn't the dll currently installed in Perl be ignored ?
The currently installed version is '0.05' (built using inline 0.43). I'm
trying to build version 0.06 with inline 0.44. (Apart from the version
number, 0.06 and 0.05 are identical.)
Having run 'perl makefile.pl' and 'nmake', if I try to run 'nmake test' I
get errors about undefined subroutines. I can still successfully run 'perl
test.pl', which uses the current install. (Why would there be such a
problem - my module exports all functions.)
I'll try and work out what's happening tonight if I get a chance.
Any pointers on what could possibly be happening appreciated.
Cheers,
Rob