Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 46180
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: wfelipe [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.33
Fixed in: 0.34_06



Subject: Module::Build not respecting install prefix
Module::Build doesn't respect install variables as ExtUtils::MakeMaker. As far as I could find, it lies on Module::Build::Base: # Note: you might be tempted to use $Config{installstyle} here # instead of hard-coding lib/perl5, but that's been considered and # (at least for now) rejected. `perldoc Config` has some wisdom # about it. $p->{install_base_relpaths} = { lib => ['lib', 'perl5'], arch => ['lib', 'perl5', $arch], bin => ['bin'], script => ['bin'], bindoc => ['man', 'man1'], libdoc => ['man', 'man3'], binhtml => ['html'], libhtml => ['html'], }; the install parameters should be respected.
Thanks for the report, but I'm not following; what is it you're trying to do, and what's happening instead?
From: wfelipe [...] gmail.com
I'm trying to install some modules in a specific directory, and not the default install_base, something like this: $ perl Makefile.PL PREFIX=~/perl LIB=~/perl/lib # running Build.PL --prefix ~/perl --config installsitelib=~/perl/lib --config installprivlib=~/perl/lib --config installarchlib=~/perl/lib/x86_64-linux-gnu-thread-multi --config installsitearch=~/perl/lib/x86_64-linux-gnu-thread-multi but instead of installing in ~/perl/lib, it installs at ~/perl/lib/perl5/, as the code I pasted in the thread ($prefix/lib/perl5/MODULE) using ExtUtils::MakeMaker works properly and installs at ~/perl/lib/MODULE
Le Lun. Mai. 18 12:52:13 2009, wfelipe a écrit : Show quoted text
> I'm trying to install some modules in a specific directory, and not the > default install_base, something like this: > > $ perl Makefile.PL PREFIX=~/perl LIB=~/perl/lib > # running Build.PL --prefix ~/perl --config installsitelib=~/perl/lib > --config installprivlib=~/perl/lib --config > installarchlib=~/perl/lib/x86_64-linux-gnu-thread-multi --config > installsitearch=~/perl/lib/x86_64-linux-gnu-thread-multi
PREFIX / --prefix should not be used. Use instead: * INSTALL_BASE for ExtUtils::MakeMaker (Makefile.PL) * --install_base for Module::Build (Build.PL) See : http://search.cpan.org/dist/Module-Build/lib/Module/Build.pm#INSTALL_PATHS http://schwern.org/talks/PREFIX/ http://schwern.org/talks/MakeMaker_Is_DOOMED/
The issue seems to be that passthrough Module::Build::Compat isn't translating Makefile.PL arguments into an equivalent set of Build.PL arguments. Yes, INSTALL_BASE/install_base is preferred, but M::B::Compat should be able to replicate ExtUtil::MakeMaker's semantics, nonetheless. However, this affects users with PREFIX (not recommended) and distributions using passthrough Makefile.PL (also not recommended). As a result, I'm de-prioritizing the ticket and setting the severity to "normal".
It's possible this is the same underlying issue as RT#41166 http://rt.cpan.org/Ticket/Display.html?id=41166
I believed this was fixed when RT#41166 was fixed.