Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I recently took over Inline::CPP, which hadn't been maintained since 2003. When I took it over it was passing with only about 10% of the CPAN smoke testers. The points of failure traced back to ways in which C++ has standardized and evolved over the years, as well as how Inline has evolved. Once the points of failure were identified several individuals on the Inline mailing list (syphilis, Stefan, and Patrick) and I came together to work out some solutions that resulted in patches both to Inline and to Inline::CPP. Now Inline::CPP passes for a little over 93% of the smoke testers.

If you look in the documentation for Inline under the "Writing Modules with Inline" section, there is a list of steps needed to create a distribution that uses Inline::*. One of the steps is to substitute Inline::MakeMaker in place of ExtUtils::MakeMaker in the Makefile.PL file.

So far, so good, and that works as advertised. As a proof of concept I put Math::Prime::FastSieve on CPAN. This module is based on Inline::CPP. The intent was to demonstrate that basing a module on Inline was a reasonably robust solution, and if not, to identify and hopefully fix the points of failure.

When the smoke tests began trickling in I discovered another issue that is preventing some testers from getting a clean install. Several tests came back with a result of "UNKNOWN", and this is an example of the output from one tester. On the Inline email list we came up with the thought that these particular testers probably don't have Inline installed at all (which drags with it Inline::MakeMaker). So the solution I came up with was to add a 'BUILD_REQUIRES' => { 'Inline' => 0.49 }, directive in the Makefile.PL file. The thought was that at that point when I build the distribution Inline would be listed in the META.json and META.yml files, and the build dependency would be picked up by the cpan shell tool so that Inline would get installed prior to the target system invoking Makefile.PL.

So I bumped the version number to .03, and uploaded the changes. I seem to have achieved a marginal increase in smoke test passes, but I'm still getting some "UNKNOWN" results. And the test details for the remaining "UNKNOWN"s still seem to exhibit the same problem.

I'm wondering if any of you Monks wiser than I in the ways of building a bullet-proof distribution may come up with a suggestion on how to fix this issue.

Update: Fixed one of the module links.


In reply to Clean smoke-test install for Inline based modules using Inline::MakeMaker by davido

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others having an uproarious good time at the Monastery: (5)
    As of 2018-06-23 21:50 GMT
    Find Nodes?
      Voting Booth?
      Should cpanminus be part of the standard Perl release?

      Results (125 votes). Check out past polls.