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

I've been trying to get this module to work and I'm at my wits end. I'm pretty new to perl so excuse me for any ignorance.

I'm using perl version 5.14.2 and I downloaded Active Perl 5.16.13 and used the PPM to download the PDL module (version 2.006). When I try to use it in my script (use PDL) I get this:

DynaLoader object version 1.13 does not match $DynaLoader::XS_VERSION +1.14 at C:/Perl64/lib/DynaLoader.pm line 87. Compilation failed in require at Basic/Core/Core.pm.PL (i.e. PDL::Core +.pm) line 315. BEGIN failed--compilation aborted at Basic/Core/Core.pm.PL (i.e. PDL:: +Core.pm) line 315. Compilation failed in require at (eval 1) line 6. BEGIN failed--compilation aborted at (eval 1) line 6. BEGIN failed--compilation aborted at ./randomDNA.pl line 15.

I downloaded MinGW64 4.5.4 as my C compiler. Any suggestions would be great. Thanks!

Replies are listed 'Best First'.
Re: Can't get PDL module working
by Anonymous Monk on Oct 26, 2013 at 23:46 UTC
    I'm using perl version 5.14.2 and I downloaded Active Perl 5.16.13

    It's ok to have 2 different versions of perl on your computer, but you can't run them both at the same time, or mix parts of one with the other.
    It seems that you are currently loading some parts of DynaLoader that belong to your perl-5.16.3 (DynaLoader-1.14) and some parts of DynaLoader that belong to your perl-5.14.0 (DynaLoader-1.13).
    Hence the error you get.

    What does perl -V report for you ?
    Where is perl-5.14.2 located ?
    Where is perl-5.16.3 located ?
    What does set PATH report for you ?

    You'll find that this brokenness in your set-up affects *any* module that attempts to load the DynaLoader module.

    Cheers,
    Rob
       perl -v says I'm using perl 5.14.2. But I have a Perl64 folder which contains 5.16.3  set PATH gives me:
      Path=C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files (x86)\HP Simple +Pass\x64;C:\Program Files (x86)\HP SimplePass\;;C:\Program Files (x86 +)\Intel\iCLS Client\; C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\ +WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\ +Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Intel\ +OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bi +n\x64;C:\Program Files\Intel\Intel(R) Management Engine Components\DA +L;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C: +\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL; +C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IP +T;C:\Pr ogram Files (x86)\Hewlett-Packard\HP SimplePass Identity Protection\x6 +4;C:\Program Files\Samsung\AllShare Framework DMS\1.3.17\;C:\Program +Files\Samsung\AllShare Framework DMS\1.3.17\64bit\PATHEXT=.COM;.EXE;. +BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
      It's long, but the C:\Perl64\bin folder is there which is where the perl version 5.16.3 is located. After searching my computer, I found that Cygwin uses Perl version 5.14.2. After some googling, I found this module perlcygwin (http://search.cpan.org/~rjbs/perl-5.16.3/README.cygwin) should I download this to help me out?
      I just tried running the script from the Windows Command Line instead of Cygwin and it worked perfectly! Such a pain. Thanks for the idea though or I never would have tried!