Skip Menu |

This queue is for tickets about the ExtUtils-Install CPAN distribution.

Report information
The Basics
Id: 32813
Status: resolved
Worked: 30 min
Priority: 0/
Queue: ExtUtils-Install

People
Owner: yves [...] cpan.org
Requestors: schwern [...] pobox.com
Cc:
AdminCc:

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



Subject: [Fwd: Fix for ExtUtils-Install-1.44 on cygwin]
Date: Wed, 30 Jan 2008 12:32:43 -0800
To: bug-ExtUtils-Install [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Show quoted text
-------- Original Message -------- Subject: Fix for ExtUtils-Install-1.44 on cygwin Date: Wed, 30 Jan 2008 03:26:40 +0100 From: Wolfgang Baron <Wolfgang_Baron@gmx.de> To: mschwern@cpan.org Dear Michael G Schwern, I found a problem with ExtUtils-Install-1.44 on cygwin, reporting it cannot install into directories, because it supposedly cannot write to directory "/", taking quite a while to make up its mind. This is so, because on cygwin, double slashes at the beginning of a path makes the first part of the path to be interpreted as a host name. Unix ignores double slashes in paths. I fixed this for my private installation and present you the really small fix I beg you to integrate into your next release (or anything equivalent). The problem is caused by the way File::Spec asymmetrically splits and concatenates paths. My solution is to only use the volume description, if it is not empty. I changed line 439 to the following: $ diff Install_org.pm Install.pm 439c439,440 < $dir = File::Spec->catdir($vol,@dirs); ---
> $dir = File::Spec->catdir(@dirs); > $dir = File::Spec->catdir($vol,$dir) if length $vol;
Thanks, in case you integrate this into the next release, so I don't have to continuously apply patches to ExtUtils::Install, which is also needed for cpan! Kind regards, Wolfgang Baron
On Wed Jan 30 15:33:57 2008, schwern@pobox.com wrote: Show quoted text
> -------- Original Message -------- > Subject: Fix for ExtUtils-Install-1.44 on cygwin > Date: Wed, 30 Jan 2008 03:26:40 +0100 > From: Wolfgang Baron <Wolfgang_Baron@gmx.de> > To: mschwern@cpan.org > > Dear Michael G Schwern, > > I found a problem with ExtUtils-Install-1.44 on cygwin, reporting it > cannot install into directories, because it supposedly cannot write to > directory "/", taking quite a while to make up its mind. > > This is so, because on cygwin, double slashes at the beginning of a path > makes the first part of the path to be interpreted as a host name. Unix > ignores double slashes in paths. I fixed this for my private > installation and present you the really small fix I beg you to integrate > into your next release (or anything equivalent). > > The problem is caused by the way File::Spec asymmetrically splits and > concatenates paths. My solution is to only use the volume description, > if it is not empty. I changed line 439 to the following: > > $ diff Install_org.pm Install.pm > 439c439,440 > < $dir = File::Spec->catdir($vol,@dirs); > ---
> > $dir = File::Spec->catdir(@dirs); > > $dir = File::Spec->catdir($vol,$dir) if length $vol;
> > Thanks, in case you integrate this into the next release, so I don't > have to continuously apply patches to ExtUtils::Install, which is also > needed for cpan! > > Kind regards, > > Wolfgang Baron
I also run into this problem, but propose a slightly different fix. Using catdir is wrong here, it should be catpath instead: $dir = File::Spec->catpath($vol, File::Spec->catdir(@dirs)) I can supply a formal patch if you need one. Regards, Slaven
From: mschwern [...] cpan.org
On Wed Jan 30 15:33:57 2008, schwern@pobox.com wrote: Show quoted text
> I found a problem with ExtUtils-Install-1.44 on cygwin, reporting it > cannot install into directories, because it supposedly cannot write to > directory "/", taking quite a while to make up its mind.
Was this on Vista? I just hit this problem while helping someone try to get Perl up and running on Vista. Show quoted text
> The problem is caused by the way File::Spec asymmetrically splits and > concatenates paths. My solution is to only use the volume description, > if it is not empty. I changed line 439 to the following: > > $ diff Install_org.pm Install.pm > 439c439,440 > < $dir = File::Spec->catdir($vol,@dirs); > ---
> > $dir = File::Spec->catdir(@dirs); > > $dir = File::Spec->catdir($vol,$dir) if length $vol;
> > Thanks, in case you integrate this into the next release, so I don't > have to continuously apply patches to ExtUtils::Install, which is also > needed for cpan!
I tried this and it spewed out a lot of warnings. Unfortunately I don't have the machine anymore to copy them down.
RT-Send-CC: perl-diddler [...] tlinx.org
I ran into same problem in 5.8 and 5.10. In the Extutils-Install-1.44 build dir, I combined the other two suggested patches and used: --- lib/ExtUtils/Install.pm 2007-09-09 16:17:23.000000000 -0700 +++ lib/ExtUtils/Install.pm 2008-02-27 03:39:18.110625000 -0800 @@ -436,7 +436,8 @@ my $path=''; my @make; while (@dirs) { - $dir = File::Spec->catdir($vol,@dirs); + $dir = File::Spec->catdir(@dirs); + $dir = File::Spec->catpath($vol,$dirs) if length $vol; next if ( $dir eq $path ); if ( ! -e $dir ) { unshift @make,$dir;
On Wed Feb 27 07:05:10 2008, LAWALSH wrote: Show quoted text
> I ran into same problem in 5.8 and 5.10.
Ok, I'll update the 2 cygwin perl packages then (5.8.8 and 5.10.0). This patch seems to be quite useful. -- Reini Urban
Subject: Re: [rt.cpan.org #32813] [Fwd: Fix for ExtUtils-Install-1.44 on cygwin]
Date: Wed, 27 Feb 2008 16:14:13 +0100
To: bug-ExtUtils-Install [...] rt.cpan.org
From: demerphq <demerphq [...] gmail.com>
On 27/02/2008, Reini Urban via RT <bug-ExtUtils-Install@rt.cpan.org> wrote: Show quoted text
> > Queue: ExtUtils-Install > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=32813 > > > > On Wed Feb 27 07:05:10 2008, LAWALSH wrote:
> > I ran into same problem in 5.8 and 5.10.
> > > Ok, I'll update the 2 cygwin perl packages then (5.8.8 and 5.10.0). > This patch seems to be quite useful.
FYI: I released a new version of EU today with a patch for this bug. http://search.cpan.org/~yves/ExtUtils-Install-1.45/lib/ExtUtils/Install.pm Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"
this is resolved by version 1.45 thanks for the report.
Subject: Re: [rt.cpan.org #32813] [Fwd: Fix for ExtUtils-Install-1.44 on cygwin]
Date: Wed, 27 Feb 2008 16:15:54 +0100
To: bug-ExtUtils-Install [...] rt.cpan.org
From: demerphq <demerphq [...] gmail.com>
On 27/02/2008, Reini Urban via RT <bug-ExtUtils-Install@rt.cpan.org> wrote: Show quoted text
> > Queue: ExtUtils-Install > Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=32813 > > > > On Wed Feb 27 07:05:10 2008, LAWALSH wrote:
> > I ran into same problem in 5.8 and 5.10.
> > > Ok, I'll update the 2 cygwin perl packages then (5.8.8 and 5.10.0). > This patch seems to be quite useful.
BTW, youll notice a subtle difference in my version and yours and Lindas. The file parameter for File::Spec->catpath() is not optional you must supply a empty string filename to avoid warnings on some if not all File::Spec's out there. -- perl -Mre=debug -e "/just|another|perl|hacker/"