NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.
All the Perl that's Practical to Extract and Report
Stories, comments, journals, and other submissions on use Perl; are Copyright 1998-2006, their respective owners.
Re: I hereby offer a reward of a vertical metre of (Score:1)
Just as an alternative to stennie's above, here's one that uses a built-from-source perl, rather than ActiveState's
(I don't like that I can't distribute PAR-built exe's built using AS's perl unless I get written permission)
You'll need this zip file: http://www.fireartist.com/tmp/vanillaPerl5.8.7.zip [fireartist.com] (41.5 KB)
Unzip the file in
c:\it'll create a folder namedc:\vanillaPerl5.8.7Just follow the instructions in
c:\vanillaPerl5.8.7\build\installer.txtThis is a very basic installation including perl5.8.7,
Re: I hereby offer a reward of a vertical metre of (Score:1)
Its not a perl level issue at all. On win32 you can't delete open files. Period. Any installer will end up confronting this issue. Its the reason for the dreaded "you must reboot your machine" messages that are so well known in the Windows world.
Some install techniques on windows are more suceptable to this issue than others, with Module::Build and CPAN particularly so as they use the things they are installing to do the install. EU::MM modules are less so as the install process is actually done by nmake.exe which means that the installer is less likely to have open the same files as are being installed. So as an example often with a EU::MM install if it fails you can exit out of CPAN and go to the build directory and run 'nmake install' and it will work fine as perl is no longer running and keeping those files open.
So IMO this shouldn't be characterized as a bug. Its a general win32 annoyance that is difficult to work around no matter what you do.
Reply to This
Parent
Re: I hereby offer a reward of a vertical metre of (Score:1)
Maybe CPAN / M::B could get round it, if libwin32 is installed, by adding a registry entry in the relevant 'run once' key, and asking the user to reboot.
I'd personally find it quite amusing seeing cpan say "installation finished, please reboot to continue"!
I suppose a problem would be if it happens when installing a prerequisite. Would it be sufficient for cpan to say, "please reboot, then run 'install Foo' again", rather than try to remember the state it was in?