On 3/23/06, Ron Savage <ro...@sa...> wrote:
> Hi Folks
>
> I've been investigating this problem.
>
> I get such an error with Compress::Zlib, Params::Validate and Time::HiRes=
.
>
> Here's what I've found, under Win2K:
>
> o If Apache+mod_perl is not installed (i.e. as a Windows service), I do n=
ot get
> this error.
>
> o If Apache+mod_perl is installed but the service is not started, I do no=
t get
> this error
>
> o If the service is started, I get this error
>
> What complicates the issue is that Apache, or perhaps Windows, is inconsi=
stent
> about whether or not it is installed. Here's a log of a few attempts to p=
lay
> with this:
This is a well known set of issues. You cant delete files that are
open on win32. In some cases you can rename them, but in others you
cant do anything but schedule the removal of the file at boot time.
Normally when a .dll is opened it is opened such that it can be
renamed away, however if the .dll is being used in more complicated
ways then it may not be renamable untill all processes using it have
terminated. Thus when the service is running the .dlls are open and
they cant be deleted.
There is an existing workaround. If you do
cpan> install YVES/ex-ExtUtils-Install-1.3702.tar.gz
The youll have an updated version of ExtUtils::Install that knows how
to do the rename trick, and/or use Win32API::File to handle these
issues at boottime. (Such as removing the renamed files, or installing
files that are locked at the time of install.)
I would very much appreciate feedback as to how well using this bundle
resolves the listed problems. Not that you _cannot_ install it by
module name, you must use the fully qualified distro name.
BTW, its been a subject of discussion for some time to make this the
official distro for EU-Install. However we are still waiting on
Michael Schwern to give me permissions on the module in CPAN/PAUSE.
Cheers,
Yves
--
perl -Mre=3Ddebug -e "/just|another|perl|hacker/"
|