Slash Boxes

All the Perl that's Practical to Extract and Report

More | Login | Reply
Loading... please wait.
  • These failures are legitimate failures, and should remain.

    When you choose your build system, as when you choose ANY dependency, you get its errors and baggage along with its good points.

    Module::Build has an unresolved circular dependency on itself.

    Unlike EVERY other module on CPAN, it says that the rules do not apply to it and that instead of working within the rules, EVERY end user should magically (via the "universal education" clause) know to install it BEFORE they start installing anything else.

    This mea
    • "Module::Build has an unresolved circular dependency on itself." isn't quite correct. Distributions that require Module::Build need Module::Build, but Module::Build will build just fine without anything but it's own tree.

      Yes, that is a problem if the CPAN(PLUS) client can't know that it is fatally out-of-date. Everything is a problem if we have to expect an old tool (which could be easily updated) to do the right thing.

      Requiring a particular *version* of M::B does need configure_requires. But the converse of this is that ExtUtils::MakeMaker cannot fix bugs or add features. It's all the same thing and we do need configure_requires to solve it.

      But it really comes back to the tool. My die() message says "run the Build.PL file". Great for humans, bad for old rusty tools. I know that.

      I'm not just being a whiny blowhard. I would really just like to raise the awareness. You know, so hopefully we don't go through this (and the cross-compiling thing (btw, can makemaker cross-compile?)) the hard way on Perl 6/parrot. And generally just to make people realize how relatively good the perl toolchain has been for quite a long time and how hard people have worked to make that happen.

      Still, I await the day when we apply the final fix [].

      • Still, I await the day when we apply the final fix.

        There is another alternative to the problem/solution you suggest in that post. For every existing module pointed-to by those indices, set the URL (and checksums) of the distribution release to the location of a distribution release that upgrades the toolchain. Yes, there would be an uproar if preparations were not made by user education via public announcements and a months-ish waiting period, but it would achieve the desired effect. Mandatory upgrade ("if you're using old versions of our tools, so sorr