ActivePerl 5.22.2 does not register dlls on Win7

Posted by lsutton408 on 2016-08-01 15:05

On Win7 I installed AP 5.24 then found I had to use 5.22. So I uninstalled 5.24 (unused) and installed ActivePerl-5.22.2.2202-MSWin32-x86-64int-300560.exe. When I ran my perl script from the command line I received an error that perl524.dll was missing. I don't know what is still looking for perl524. This is when I searched the registry and found no dlls were registered. I did find some 'perl' entries that did point to the AP folder.

I also found that I have perl5 in Git and Anaconda on this PC.

Is AP not compatible with these?

i-shenl
ActiveState Staff
Tue, 2016-08-02 08:04

Assuming that you used the default settings, it sounds like c:\perl\bin is not in your PATH. This can happen if there's a lot of entries in the PATH variable as I think PATH's maximum length is 1024 characters. If this is the case, you might need to uninstall some programs you aren't using as altering the PATH variable will affect how other programs run. If not, then you can add that path.

Also, does the user account you are using to install Perl have admin privileges? If not, it is recommended to use one that does.

lsutton408 | Tue, 2016-08-02 09:46

PATH is good. perl/bin is the second entry. First is perl/site. No other perl in path. I did not remove them from path when I uninstalled. I am logged in as admin and also tried run as admin. I had no trouble installing 5.20 on a different pc previously. Only diff I can see is that it does not have git and anaconda (which have perl5 in them)

i-shenl
ActiveState Staff
Wed, 2016-08-03 08:11

Since everything else looks ok, and after re-reading your first post, it appears to me that there's modules from 5.24 left over after you installed 5.22. How you can tell is when you uninstall 5.24, there are still contents in the site folder. Site is where modules installed from either PPM or CPAN go. This folder won't be deleted by the installer because the installer has no way to tell what modules were added.

Modules that were built with one version of Perl cannot be used with another version of perl. My suggestion is to uninstall 5.22 first, delete everything in the c:\perl and make sure it is empty, then install 5.22 again.

For the Git and Anaconda, there shouldn't be a problem as long as the paths to them aren't in your PATH, PERL5LIB, etc variables. But the error you are seeing tells me that something was left over from 5.24. A quick search on Google appears to indicate that neither Anaconda nor Git are using the latest perl right now.