In general, you should use the Active State ppm tool and their repository to install modules. You get something that was compiled with the "right" compiler for all the XS parts and it is a faster installation process.

The ActiveState modules use VC6 or mingw. The difference is that these link with the standard Windows memory management MSVCRT.dll, not some other one. This detail is important. This is memory management, malloc, free, etc.

If something does not exist in the ppm repository, I have found that the most often case is that some pre-requisite doesn't work on Windows and won't compile.

The number of modules that you install via the cpan shell versus the ppm shell should be very, very few (if any). Expect trouble every time you do this...Expect big trouble. If it is easy, ActiveState has already done it.

I am working on one: WWW::Mechanize::Shell and can't get it to work because of a non-compilable module on Windows. I don't know if I will ever get it to work. If by the way anybody knows how to get this done, please tell me!

If you want to re-install ActiveState...there are 2 important features of command line ppm that you need to know about:

ppm profile save [ *filename* ] ppm profile restore [ *filename* ]
Profile save will generate an XML file that describes all of your installed modules.

Uninstall ActiveState to the extent that you can. Run uninstall and if your installation is really old, you may need to delete some directories also. Then, New install of the base ActiveState PERL system, then run from the command line, the ppm restore command. This XML profile is transferable between machines. There can be complications with paths, etc. For example I have cygwin on my machine and ActiveState wants a different version of compiler and "make". Running the "restore profile" will set things in order.

If you have one machine on the same OS that works and another that does not. Then save the profile on the one that works. Do a un-install, then re-install, run profile file on the one that doesn't work. Of course I would keep a backup if this didn't work! I would imagine that you will have to do some manual installation the few modules on CPAN that are not in the PPM repository. There were troubles installing these to begin with and you will have to go through that again. If there were no troubles, then probably you would save yourself a LOT of grief by first looking at the ppm repository.

running the cpan shell on ActiveState is a desperation move. It should however talk you through the compiler and dmake installation.

An ActiveState install from the ppm repository is going to work. And has had at least some minimal testing by ActiveState. When you try to install a random CPAN module, it may or may not work under Windows due to a very long list of issues.

When you run the "cpan" for the first time, it will prompt for lots of stuff. This is similar in Linux. In general that program is smarter than you are about what you do and you should accept the defaults.


In reply to Re^3: How to change compiler options used by cpan ? by Marshall
in thread How to change compiler options used by cpan ? by flamey

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.