Home  |  Linux  | Mysql  | PHP  | XML
Date:Wed Dec 14 15:17:35 2011
Subject:Re: ExtUtils::MakeMaker, PREFIX and man3
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

Navigate in group perl.makemaker at sever nntp.perl.org
Previous Next





  
© No Copyright
You are free to use Anything, but please consult your advocate before doing so as this website
also list content from other sources which may be copyrighted.
Site Maintained by Zareef Ahmed
Powered By PHP Consultants