Re: ExtUtils::MakeMaker, PREFIX and man3
[email protected] (Phil Kasten) Wed, 14 Dec 2011 10:17:35 -0500
| Newsgroups | perl.makemaker |
|---|---|
| Message-ID | <[email protected]> |
Thanks Martin, please see below... On 12/14/2011 04:13 AM, Martin Becker wrote: > 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. > Thanks -- I will send my question to the Module::Build folks. > 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. > Right. Everything really does look right to me (I am pretty familiar with using cpan's configuration to manage installations.) In order to have modules installed in my own area, I have the following in ~/.cpan/CPAN/MyConfig.pm (all other lines were omitted for this email): 'makepl_arg' => q[PREFIX=~/perl], Everything (installation of .pm files and man1 files) works properly except for man3 pages. > 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''. Right -- this is what I have. Well, sortof. the makepl_arg is supposed to get propagated to the build and install phases. >> 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. > Right. The PREFIX variable I was referring to was for the makepl_arg. > Good luck, > -Martin Thanks -- I will see if the Module::Build folks have any insight. Regards, Phil