John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:

I'm doing some development with Catalyst, and developing it on a Debian system so 'cpan' works as intended. I thought that's refreshing, and a big improvement from the state of Perl on Windows.

I learned to set it up to use 'sudo' in the build rule of the config, and run it under my user account, rather than having to 'make' as root all the time.

But, when I moved my Catalyst app to another computer (a clone of my actual server), and let Makefile.PL/make pull down the dependencies, things got bad and very weird. One module fails testing, and it fact goes into an infinite recursion loop just loading the module (AUTOLOAD keeps getting called to satisfy blessed), and another module chokes because has is undefined.

I'm wondering if the difference is that the makefile is triggering "cpanplus", not "cpan". I couldn't find the equivalent configuration items (to make it sudo) so I wonder if it's supposed to defer to cpan's configuration, or if it just can't be used that way?

Anyway, it was a real mess and my only way out was to roll back and start over.

Replies are listed 'Best First'.
Re: cpan and cpanplus and toolchain
by educated_foo (Vicar) on Mar 18, 2011 at 02:32 UTC
    It sounds like a bug related to Scalar::Util and Moose, because you dared to use ExtUtils::MakeMaker instead of Module::Build. I'll bet your problems go away if you install the latest Module::Build (good luck...) and then do
    perl ./Build.PL ./Build install
    Welcome to Modern Perl.
      Catalyst's helper scripts to create an application produced a Makefile.PL. All the docs and walk-troughs use that. There's no Build.PL in this directory.
        You need to make sure that the Makefile.PL doesn't just call Module::Build. You can put a die "MB"; at the start of Module/Build.pm to be sure it's not a Module::Build SNAFU.