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