Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[rt.cpan.org #80257] presence of cygpath needs to be check on module load

4 views
Skip to first unread message

Daniel Dragan via RT

unread,
Oct 18, 2012, 1:15:47 AM10/18/12
to libw...@perl.org
Thu Oct 18 01:15:46 2012: Request 80257 was acted upon.
Transaction: Ticket created by BULKDD
Queue: Win32-API
Subject: presence of cygpath needs to be check on module load
Broken in: 0.72
Severity: Unimportant
Owner: Nobody
Requestors: BUL...@cpan.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80257 >


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.

Daniel Dragan via RT

unread,
Oct 18, 2012, 11:36:11 AM10/18/12
to libw...@perl.org
Thu Oct 18 11:36:03 2012: Request 80257 was acted upon.
Transaction: Correspondence added by BULKDD
Queue: Win32-API
Subject: presence of cygpath needs to be check on module load
Broken in: 0.72
Severity: Unimportant
Owner: Nobody
Requestors: BUL...@cpan.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80257 >


Implemented.

Reini Urban via RT

unread,
Oct 18, 2012, 12:01:44 PM10/18/12
to libw...@perl.org
Thu Oct 18 12:01:40 2012: Request 80257 was acted upon.
Transaction: Correspondence added by RURBAN
Queue: Win32-API
Subject: presence of cygpath needs to be check on module load
Broken in: 0.72
Severity: Unimportant
Owner: Nobody
Requestors: BUL...@cpan.org
Status: resolved
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80257 >


On Thu Oct 18 01:15:46 2012, BULKDD wrote:
> 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.

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

Daniel Dragan via RT

unread,
Oct 20, 2012, 8:21:06 PM10/20/12
to libw...@perl.org
Sat Oct 20 20:21:05 2012: Request 80257 was acted upon.
Transaction: Correspondence added by BULKDD
Queue: Win32-API
Subject: presence of cygpath needs to be check on module load
Broken in: 0.72
Severity: Unimportant
Owner: Nobody
Requestors: BUL...@cpan.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=80257 >


The cygpath changes are now available in Win32::API 0.73 on CPAN.
0 new messages