jzhuk has asked for the wisdom of the Perl Monks concerning the following question:

I installed ActivePerl 5.8.9. The install didn't create a library, so I copied my old library I had from 5.6.

Some scripts worked and some required Win32.dll upgrade, so I did: ppm upgrade

During the upgrade, I saw several upgrade messages including: "Win32 0.39 (have 0.38)"

Before upgrade I had this error message:

Thu Apr 30 20:40:24 2009 error Can't load 'C:/Perl/site/lib/auto/Win32/Win32 .dll' for module Win32: load_file:The specified module could not be found at C:/ Perl/lib/DynaLoader.pm line 226.\n at C:/Perl/lib/Cwd.pm line 692\nCompilation f ailed in require at C:/Perl/lib/Cwd.pm line 692.\nBEGIN failed--compilation abor ted.\n

In reality I can see "C:/Perl/site/lib/auto/Win32/Win32.dll" file. It is right there, dated 6/17/2002

After upgrade the error message is different:

Thu Apr 30 21:04:56 2009 error Win32 version 0.27 required--this is only ver sion 0.191 at C:/Perl/lib/Cwd.pm line 692.\nBEGIN failed--compilation aborted.\n

Neither Win32.dll nor anything in the C:/Perl/site/lib/auto/Win32 directory have been changed.

I checked the date on Cwd.pm - it is dated 10/30/2008.

Any advice?

Thank you, Jeff

Replies are listed 'Best First'.
Re: upgrade perl lib
by almut (Canon) on May 01, 2009 at 21:40 UTC
    ...so I copied my old library I had from 5.6.

    Don't do that... it isn't going to work.  Do get the proper modules that belong to 5.8.9.

Re: upgrade perl lib
by Anonymous Monk on May 01, 2009 at 21:37 UTC
    I installed ActivePerl 5.8.9. The install didn't create a library, so I copied my old library I had from 5.6.
    That was your mistake. Don't do that.
Re: upgrade perl lib
by Marshall (Canon) on May 04, 2009 at 00:45 UTC
    I've upgraded from ActiveState 5.6->5.8->5.10 and along the way, some things can gotten buggered in my installation. PerlScript doesn't work for example and I've got some extra Start Menu icons that don't work.

    So, I've got a little project to get my own installation "in shape" with a complete re-install of ActiveState and install of PDK 8 (I have PDK 7 now).

    From what I gather from ActiveState doc's, the install process is not well behaved when installing one version on top of another (either Perl or PDK). They recommend to uninstall the previous version completely, then do a new install of their latest version. It is possible to have multiple Perl versions (eg 5.6 and 5.8 installed in different directories, but that sounds like trouble to me!).

    The kicker in this is in re-installing the packages that you currently use for the new version of Perl. Do a "ppm list" to show your current packages that are extra to the normal distribution. I have 211 packages (not all of them useful).

    I am curious as to how you fare. I've been thinking of using ppm list, to get the extra packages installed. What I don't know is if there is an ActiveState tool that can use this list to re-install all these packages for the current version (or at least do most of the work)?

    Older versions of PPM have a text file with installed modules. Newer ones have an SQLlite DB.

    The steps would be:
    -generate & save list of modules/packages you have now
    -complete uninstall of previous ActiveState stuff
    -install new ActiveState version
    -install packages appropriate for this new AS version

    There has to be some easy way to do first and last things on this list?