Skip Menu |

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

Report information
The Basics
Id: 28484
Status: resolved
Worked: 5 min
Priority: 0/
Queue: ExtUtils-MakeMaker

People
Owner: Nobody in particular
Requestors: pause [...] tlinx.org
Cc:
AdminCc:

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



Subject: IO doesn't use Win32::File to install IO.DLL under cygwin
IO.dll attempts to use "Unix" methodology to install/overwrite IO.dll when running under Cygwin. Unfortunately, Cygwin is not Unix -- it is running on Win32. It needs to use the Win32 install method to replace inuse DLL's rather than requiring the user to do it manually: .... # [test finishes] t/io_unix..........ok t/io_utf8..........ok t/io_xs............ok All tests successful. Files=17, Tests=172, 26 wallclock secs ( 3.49 cusr + 2.29 csys = 5.79 CPU) /usr/bin/make test -- OK Running make install Cannot forceunlink /usr/lib/perl5/5.8/cygwin/auto/IO/IO.dll: Permission denied at /usr/lib/perl5/5.8/File/Find.pm line 918 make: *** [pure_perl_install] Error 13 /usr/bin/make install UNINST=1 -- NOT OK # [ install fails due to Unix copy not working on Win32; so manually # enter IO dir; "move" the problem DLL out of the way, and run # the "make install" manually ] Show quoted text
cpan> look IO
Running look for module IO Trying to open a subshell in the build directory... Working directory is /var/cache/CPAN/build/IO-1.2301 (2)/var/cache/CPAN/build/IO-1.2301> mv \ /usr/lib/perl5/5.8/cygwin/auto/IO/IO.dll /tmp # [ note -- no problem moving the offending dll out of the way; I move # it to /tmp where it will be auto-deleted if I forget; now rerun # make install... (2)/var/cache/CPAN/build/IO-1.2301> make install UNINST=1 Installing /usr/lib/perl5/5.8/cygwin/auto/IO/IO.dll Installing /usr/lib/perl5/5.8/cygwin/auto/IO/libIO.dll.a Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /usr/lib/perl5/5.8/cygwin/IO.pm Installing /usr/lib/perl5/5.8/cygwin/IO/Dir.pm Installing /usr/lib/perl5/5.8/cygwin/IO/File.pm Installing /usr/lib/perl5/5.8/cygwin/IO/Handle.pm Installing /usr/lib/perl5/5.8/cygwin/IO/Socket.pm Installing /usr/lib/perl5/5.8/cygwin/IO/Socket/INET.pm Unlinking /usr/lib/perl5/5.8/IO/Socket/INET.pm (shadowing?) Installing /usr/lib/perl5/5.8/cygwin/IO/Socket/UNIX.pm Unlinking /usr/lib/perl5/5.8/IO/Socket/UNIX.pm (shadowing?) Writing /usr/lib/perl5/5.8/cygwin/auto/IO/.packlist Appending installation info to /usr/lib/perl5/5.8/cygwin/perllocal.pod # [install works/finishes]
Subject: Re: [rt.cpan.org #28484] IO doesn't use Win32::File to install IO.DLL under cygwin
Date: Thu, 26 Jul 2007 06:38:32 -0500
To: bug-IO [...] rt.cpan.org
From: Graham Barr <gbarr [...] pobox.com>
IO uses the ExtUtils::MakeMaker to do all build/install. So this issue is not limited to IO. I suggest that you first ensure you have the latest version of ExtUtils::MakeMaker installed and if the problem persists you report this to the author of ExtUtils::MakeMaker Graham.
From: MSCHWERN [...] cpan.org
On Thu Jul 26 07:39:06 2007, gbarr@pobox.com wrote: Show quoted text
> IO uses the ExtUtils::MakeMaker to do all build/install. So this > issue is not limited to IO. I suggest that you first ensure you have > the latest version of ExtUtils::MakeMaker installed and if the > problem persists you report this to the author of ExtUtils::MakeMaker
Graham, could you just move this ticket over into the ExtUtils-MakeMaker queue?
On Thu Jul 26 00:07:31 2007, LAWALSH wrote: Show quoted text
> IO.dll attempts to use "Unix" methodology to install/overwrite IO.dll > when running under Cygwin. Unfortunately, Cygwin is not Unix -- it is > running on Win32. It needs to use the Win32 install method to replace > inuse DLL's rather than requiring the user to do it manually
I believe this was fixed recently in ExtUtils::Install. Could you try the latest ExtUtils::Install or ExtUtils::MakeMaker (which includes the new ExtUtils::Insatll) from CPAN and see if it fixes your problem? http://search.cpan.org/dist/ExtUtils-Install
I install a lot of things on Cygwin and I know that it does indeed use the 'Win32 method' to install things when they are in use. Marking as resolved. Many thanks.
On Wed Jul 17 16:05:13 2013, BINGOS wrote: Show quoted text
> I install a lot of things on Cygwin and I know that it does indeed use > the 'Win32 method' to > install things when they are in use. > > Marking as resolved. Many thanks.
---- Well, it doesn't. It asks you to quit the application first -- happens all the time in the installer (setup.exe). Tells you the file is in use, and you can either quit all applications that might be using the file, OR you will have to reboot to get the new file in place. There are some circumstances in which cygwin applications attempt to hid this by, likely the very means I suggested 6 years ago. But at least the installer is smart enough to give you the option to quit the applications or telling you that you will have to reboot -- which it didn't do 6 years ago... So if you want to think this is resolved for all cases just because it works for you, fine, but I know at least in 'setup.exe, it doesn't move file out of the way.. it halts and asks you want to do (which is alot better than it used to be and not that bothersome, but technically, that isn't how unix does it..)..