I recently had to install the latest Module::Build and CPAN while using install-module.pl on an old Perl (5.8.1), in order to get DateTime to install. But when trying to install DateTime, I got an error, like this: ERROR: Can't create '/opt/perl-5.8.1/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi' As you can see, it was trying to write to the global dir instead of the local one. So apparently, we also need to set mbuild_install_arg, or possibly set mbuildpl_arg instead of mbuild_arg.
Wow, that took a REALLY long time to figure out! Okay, so the problem is that newer versions of Module::Build have a different behavior for install_base. So now I set arguments in such a way that they will work on all versions of Module::Build--in particular, I had to set install_path for the "lib" and "arch" dirs both, and then I also had to make sure that mbuild_install_arg was also set. I could have just done mbuildpl_arg instead, but that would only have been run once by CPAN, even if we were doing multiple install-module.pl calls across various different Bugzilla installations on the same machine, so that could have been disastrous (it would have installed into the old Bugzilla directory when the user was trying to install into the new Bugzilla directory).
Assignee: installation → mkanat
Status: NEW → ASSIGNED
Attachment #440046 - Flags: review+
Committing to: bzr+ssh://bzr.mozilla.org/bugzilla/trunk/ modified Bugzilla/Install/CPAN.pm Committed revision 7132. Committing to: bzr+ssh://bzr.mozilla.org/bugzilla/3.6/ modified Bugzilla/Install/CPAN.pm Committed revision 7086.
Status: ASSIGNED → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → FIXED
Attachment #445600 - Attachment mime type: text/plain → image/jpg
You need to log in before you can comment on or make changes to this bug.