in reply to Re^2: installing modules with XS on Windows 64-bit
in thread installing modules with XS on Windows 64-bit

Thanks for the pointer on MinGW64. Why is that difficult to use?

I don't have an informed answer, and there's a chance that it might not be as hard as I envisage, but on the few occasions I've tried, I always strike problems. For example, MinGW32 can link to a 32-bit Perl/lib/CORE/perl510.lib. But MinGW64 seems unable to link to a 64-bit Perl/lib/CORE/perl510.lib. And whereas VC6 and VC7 can link to MinGW32-built libraries, I can't get the 64-bit Platform SDK compiler to link to MinGW64-built libraries.

With 32-bit builds of ActivePerl, either Visual Studio or MinGW will work straight out of the box (and it's simply a case of whichever compiler is found, is the one that will be used). If the release notes say that the 64-bit build of ActivePerl can also use either Visual Studio or MinGW, then I think those notes need amending.

Which makes me wonder where all the standard modules that it shipped with came from?

That 64-bit build of ActivePerl (including the standard modules) was built using the "Microsoft Platform SDK for Windows Server 2003 R2" compiler. You can use that compiler to build other modules for 64-bit ActivePerl.

Cheers,
Rob
  • Comment on Re^3: installing modules with XS on Windows 64-bit

Replies are listed 'Best First'.
Re^4: installing modules with XS on Windows 64-bit
by John M. Dlugosz (Monsignor) on May 05, 2009 at 19:37 UTC
    Thanks. Assuming I can find that older compiler on MSDN subscription, and install it, how do I tell makeMaker, cpan, etc. which compiler to use?

    Someone else said using "o conf" in cpan, but I can't find more documentation on that: does that affect only cpan-hosted builds? And what to use for the options?

    —John

      Assuming I can find that older compiler on MSDN subscription ...

      I think you can get it here. Though, I tkink BrowserUk found that gets you an updated version that doesn't have (and doesn't need) bufferoverflowU.lib. Iff it *is* that updated version, you then need to remove '-lbufferovewrflowU' from the 'libs' and 'perllibs' entries in Perl/lib/CORE/Config_heavy.pl.

      To set up the necessary environment variables, I run (on Vista64, btw): C:\full\path\to\SetEnv.cmd /XP64 /RETAIL

      When that's done everything should simply work (using the existing %Config values). However, I don't know about CPAN.pm - I don't use it very often and have no interest in even thinking about any problems it presents. (I generally just install modules the old-fashioned manual way.)

      Cheers,
      Rob