Skip Menu |

This queue is for tickets about the Win32-API CPAN distribution.

Report information
The Basics
Id: 80257
Status: resolved
Priority: 0/
Queue: Win32-API

People
Owner: Nobody in particular
Requestors: BULKDD [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Unimportant
Broken in: 0.72
Fixed in: (no value)



Subject: presence of cygpath needs to be check on module load
On Cygwin builds, a backquote call is made to cygpath for DLL path conversion. If cygwin perl is started without cygwin being in the PATH, cygpath will not be found and the DLL path turns to empty string leading and fails, possibly with a bad $^E (I got "network connection lost" but that might be part of my Perl debugger). Add a test call to cygpath during the modules require phase. Die during module load if cygpath backquote test call (I'm thinking a `cygpath -V` and an index string search) didn't work. Also check to make sure " if ($^O eq 'cygwin' and $dll ne File::Basename::basename($dll)) {" is const folded away on VC Perl. This is a reminder for myself.
Implemented.
On Thu Oct 18 01:15:46 2012, BULKDD wrote: Show quoted text
> On Cygwin builds, a backquote call is made to cygpath for DLL path > conversion. If cygwin perl is started without cygwin being in the
PATH, Show quoted text
> cygpath will not be found and the DLL path turns to empty string
leading Show quoted text
> and fails, possibly with a bad $^E (I got "network connection lost"
but Show quoted text
> that might be part of my Perl debugger). Add a test call to cygpath > during the modules require phase. Die during module load if cygpath > backquote test call (I'm thinking a `cygpath -V` and an index string > search) didn't work. Also check to make sure " if ($^O eq > 'cygwin' and $dll ne File::Basename::basename($dll)) {" is const
folded Show quoted text
> away on VC Perl. This is a reminder for myself.
A cygwin system cannot work at all if the path to cygwin\bin is not in the PATH. E.g. cygwin perl will not work. A lot of tests which reset or localize a PATH have special CYGWIN code to set the PATH to include \cygwin\bin. So it's a very esoteric issue you are fighting here, and really not worth checking. -- Reini Urban
The cygpath changes are now available in Win32::API 0.73 on CPAN.