Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Robrt (1414)

  (email not shown publicly)

robert at perl dot org

Journal of Robrt (1414)

Tuesday July 06, 2004
08:19 PM

Pet Peeve of the Day: PREFIX

[ #19721 ]

I really wish Module::Build supported the PREFIX setting from MakeMaker.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • I think that perl Build.PL --install-base /var/lookie/here is what you want. Give it a try!


    • It's similar, but intentionally not the same as the byzantine demented logic of PREFIX. The real problem is that neither CPAN nor CPANPLUS support the Module::Build arguments, even though the latter will run Build.PL scripts in preference to Makefile.PL.
      • I like the the byzantine demented logic of PREFIX. It does what I expect it to, and works like all the other packages installed into my local site_perl referenced by $ENV{PERL5LIB}. And then there's this beauty:
        rspier@bear ~/.cpan/build/Module-Build-0.25$ perl Makefile.PL PREFIX=/tmp/foo
        Sorry, PREFIX is not supported.  See the Module::Build
        documentation for 'destdir' or 'install_base' instead.
        • You might like it, but it's really, really, really complicated to support. I think install_base will do what you expect it to do too. I think what you really dislike is that if you have PREFIX set as a standard argument for CPAN or CPANPLUS, it just doesn't work with Module::Build, which is annoying.
          • --install_base produces a different structure than PREFIX does, so use lib or $PERL5LIB are different for each.
            • --install_base produces a different structure than PREFIX does

              So does PREFIX. The heuristics of how PREFIX works drifts from version to version of MakeMaker especially between 5.x and 6.x. Part of the problem is nobody can really quite agree on how it should work. The other part is its attempts to make the PREFIX layout match the system layout. Fix one thing, break another. For the longest time modules installed on Debian came out funny because they put things in /usr/share. I've tried to get a h

      • we try to support it, but there's so many features lacking from Module::Build it's not even funny.

        From the latest development snapshot of CPANPLUS, these issues (among others) are still open:

        =head1 KNOWN ISSUES

        There are some known issues with Module::Build, that we hope the
        authors will resolve at some point, so we can make full use of
        Module::Build's power.

        =over 4

        =item * Passing build flags to 'new_from_context'

        This is sadly not possible untill Module::Build is patched to support
        this feature. This mean
        • Passing build flags to 'new_from_context'

          Looks like you can do this now. Unfortunately, it's not documented.

          Uninstall modules installed by Module::Build

          I wrote code to write packlists a long time ago. I should nag Ken to apply that patch.

          Unable to figure out a distributions prerequisites.

          Module::Build's version comparision is not supported.

          It has requires(), build_requires(), recommends(), and conflicts() methods that return the hash reference that the user specified. Then you can call check