in reply to What's the deal with ExtUtils::MakeMaker [build_requires]

I've been meaning to ask this for a while now but why the hell does almost every single module I use require ExtUtils::MakeMaker to be built every time???

It does not, end of story :)

Or, it does not with the latest version of cpan/cpanp/cpanm

  • Comment on Re: What's the deal with ExtUtils::MakeMaker [build_requires]

Replies are listed 'Best First'.
Re^2: What's the deal with ExtUtils::MakeMaker [build_requires]
by ait (Hermit) on Aug 04, 2011 at 15:27 UTC

    OK. So taking your word for it, I upgraded the cpan shell and Bundle::CPAN, and have 1.9600, and then tried a fresh install of MooseX::NonMoose and it did it AGAIN, it tries to install MakeMaker. This is insane! Why the hell does it always want to download and install MakeMaker? WHY? WHY? WHY?

      Something sounds messed up in your system. What's the permissions on MakeMaker.pm and what's your path settings?

        Thanks for your reply, but the problem is the same in Linux, FreeBSD, and Mac and I run over a dozen workstations and many servers with Catalyst development and they can't all be broken!

        People just don't notice it because is a temporary install that's only needed for the build process and many people probably use "follow" for the prereq policy, and hardly ever sit there to actually witness the MakeMaker install every single time you first commence your CPAN shell installs. It even asks you if you want to keep this temporary requirement and even if you say yes, it will temporarily build MakeMaker the next time you use CPAN. Of course, for many people they just don't notice it because it builds fine, it just takes a little extra time, but for those of us who run Perl stuff in chrooted envs like FBSD Jails, do very well notice this, because MakeMaker and similar modules hang on some of the tests, so we usually create FBSD packages in the root server and just copy them over and install them in our jail flavours.

        So the only workaround for the FBSD Jail is that every single time you're gonna use the CPAN shell is to first install MakeMaker wait until it hangs on the INSTALL_BASE.t, ˆC, remove that test (using the look shell), and re-run the MakeMaker install, after that you can use that cpan shell session all day. It's a pain, but it works. Besides, I know the module works perfectly because it's built and installed via the pkg system anyway.

        There is some evil here that seems to be related to CPAN itself and I'm trying to get to the bottom of this horrible behavior. There is of course another path, and that is to keep hiding this ugly cousin and just figure out why MakeMaker hangs in Jails,but I am hoping for someone to actually come forward and explain the reason why MakeMaker is temporarily built with every single CPAN session. It's like some hardwired dependency.