I have several versions of Perl installed; each of which is in a different directory. for example C:\Perl\5.x.y. I switch between them in the shell, installing PERL5LIB and changing my PATH so that only one version is displayed at a time. This usually works fine, but when I try to run the version pp(PAR :: Packer) installed under 5.10.1, I have problems loading XS components. parll2nc.exe complains:
This application failed to start because perl512.dll was not found ...
I set PERL_DL_DEBUG and see the following when initializing DynaLoader:
DynaLoader.pm loaded (C:/Perl/5.10.1/site/lib C:/Perl/5.12.1/lib ., \lib)
Material before the comma @INC. The first entry is correct, the second is not. I can't figure out how DynaLoader gets the 5.12 lib path, since running perl directly shows what I would expect:
C:\>perl -e "print join ' ', @INC"
C:/Perl/5.10.1/site/lib C:/Perl/5.10.1/lib .
How does DynaLoader choose the wrong path and how can I prevent it?
source
share