Phil,

On Tue, Dec 13, 2011 at 03:50:21PM -0500, Philip Kasten wrote:
> I'm probably just doing something really dumb -- but I cannot figure out
> what.
> 
> I am using the cpan tool to install modules on a FreeBSD system that I do
> not have root permission on.  I have a PREFIX variable set to install
> everything in my local path.  Everything works fine (I have been doing this
> for many modules, successfully) unless man3 pages need to be published.
> 
> Although man1 man pages are correctly installed relative to the PREFIX
> path, man3 man pages seem to ignore PREFIX.  In fact, even if I try using
> INSTALLMAN3DIR, and whether or not I specify INSTALLDIRS=perl, nothing
> seems to cause man3 man pages to be re-routed.  Instead, they try to be
> installed in the root distribution and the install fails:
> 
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!**!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!**!!!!!!!!!!!!
> > ERROR: Can't create '/usr/local/lib/perl5/5.8.8/**man/man3'
> > Do not have write permissions on '/usr/local/lib/perl5/5.8.8/**man/man3'
> > !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!**!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!**
> > !!!!!!!!!!!!
> >  at /homes/pkasten/perl/lib/perl5/**site_perl/5.8.8/Module/Build/**Base.pm
> > line 3569

This error message looks like coming from Module::Build,
not ExtUtils::MakeMaker.

Since you are using the cpan tool, you might want to review
your CPAN settings.  Try the ``o conf'' command from your CPAN
shell and check for path names there.

Module::Build has quite a number of options controlling where
to install things.  In your situation, probably --prefix would
work with least surprising results; it was designed aiming for
compatibility with EUMM's PREFIX argument.

To arrange for cpan calling ./Build with a --prefix argument,
you could enter ``o conf mbuildpl_arg --prefix ~/perl'' in your
CPAN shell.  The EUMM equivalent would be ``o conf makepl_arg
PREFIX=~/perl''.

> In other words, with the PREFIX variable set (to ~/perl), man1 man pages
> are correctly placed in ~/perl/man/man1, but man3 man pages seem to want to
> go to /usr/local/lib/perl5/5.8.8/**man/man3.  And, this does not change
> even if I also specify INSTALLMAN3DIR=~/perl/man/**man3, with or without
> INSTALLDIRS=perl.
> 
> perl is 5.8.8 and ExtUtils::MakeMaker 6.62 is installed on my system.
> 
> Am I doing something wrong? More importantly, how do I resolve this?

Note that we are discussing arguments, not variables here.
Neither EUMM nor MB should care for a PREFIX environment
variable, as far as I know.

Good luck,
-Martin

Reply via email to