Hello folks,

I am going to upgrade a GNU/Linux system Perl installation! :)

This could be variously exciting, probably depending on the mood and the subject :D, except that using heavily local::lib coupled with cpanm(1) for many modules installation I am going to find all the XS ones broken after the upgrade.

Because last time I had to carry out such an upgrade, I found myself in a strange (better say nightmare) situation in which a local installation of Scalar::Util (if I remember well) was one of the XS modules blocking practically the execution of 70% of the library , including the standard cpan(1) script from executing (which resulted in practically re-installing the whole library), I thought better ask this time and plan for the worst: is there any recommended/battle-tested way to proceed with XS modules rebuilding after an upgrade?

Somebody recommend to go for the whole library rebuild which I'd like to avoid (I usually have few XS modules compared to the Perl ones).
I did look at finding a way to reliably find all and only the XS modules in my local lib but I hadn't any luck. Any suggestions?

It seems also that while cpanm(1) has not some related "magic" (correct me if I'm wrong) good old cpan(1) instead has r which could really be what I'm looking for: recompile.
It also has CPAN::Nox which would untangle any problems related to broken XS modules.

BUT(!) I suspect that CPAN::Shell::recompile will proceed with rebuilding all the XS modules in the search path, not only the ones in my $PERL_LOCAL_LIB_ROOT search path which is a problem.
Any experience with cpan in this sense?


In reply to Dealing with perl upgrade and local XS modules by markong

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.