Perl cpanm failing to install modules due to lack of usr/local/man/man3 write permission

2.5k views Asked by At

I'm using cpanm and local::lib to install modules on a Pair.com Ubuntu VPS box. Shell access but no root access. The modules are going to ~/perl5. The installed Perl is 5.10.1.

Install of both Module::Build::Tiny and Class::Method::Modifiers failed. Looking at the build.log, you can see that the tests ran fine, but the install failed with the message:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
Do not have write permissions on '/usr/local/man/man3'
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

The install failed, and using cpanm --force does not help. I don't need these modules to put anything in man3. I've installed lots of other modules today, and they didn't care about man3.

Is there a way I can get around this? I don't need any man pages created for modules.

Edit: I am using local::lib. Here are the relevant environment variables (I think). Sort of new ground for me here...

PERL5LIB=/usr/home/wruppertvps/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT=/usr/home/wruppertvps/perl5
PERL_MB_OPT=--install_base "/usr/home/wruppertvps/perl5"
PERL_MM_OPT=INSTALL_BASE=/usr/home/wruppertvps/perl5
MANPATH=:/usr/home/wruppertvps/perl5/man:/usr/share/man:/usr/local/man:/usr/local/share/man
1

There are 1 answers

0
Bill Ruppert On BEST ANSWER

It looks like the problem was in ExtUtils::Install. I guess it doesn't see local::lib. Setting PERL_INSTALL_ROOT fixed the problem.

PERL_INSTALL_ROOT=/usr/home/wruppertvps/perl5