R
Rahul
I am configure a perl code (check_lm_sensors; a nagios plugin) so that I
can eventually roll it out on 200+ servers we have in our computer
cluster. The problem is that there are several dependancies. eg. the CPAN
modules Nagios:lugin, Class::Accessor, Config::Tiny, version.
I already have one machine running where I used "perl -MCPAN -e 'install
Math::Calc::Units'" etc. for each dependancy that the original code
complained about. What's a better way of doing this so that I can
automate the process?
My approach:
All the nodes have a common nfs mounter directory too (/usr/local/) so I
thought of doing manual compiles once to this non-standard location by
using " perl Makefile.PL PREFIX=/usr/local/lib/perl; make; make test;
make install"
Unfortunately then the next programs down the line don't seem to find the
modules they need where they expect to find them. eg.
######error########
Can't locate Math/Calc/Units/Convert.pm in @INC (@INC contains:
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.7/x86_64-linu
#########################
I tried " setenv PERL5LIB /usr/local/lib/perl" but many modules seem to
be installed deep down this heirarchy. PERL5LIB based searches do not
seem recursive?
Example: /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert.pm
So my $PERL5LIB does not help much unless I were to set each deep
location in there. Besides, when I manually browsed I find non-perl-
module files like "Grammar.y" that I am not sure if I need copied or not.
What's the best way to handle these twin related problems: (1) Automating
a multi-dependancy perl install to many servers (2) using non-standard
paths.
Any advice?
can eventually roll it out on 200+ servers we have in our computer
cluster. The problem is that there are several dependancies. eg. the CPAN
modules Nagios:lugin, Class::Accessor, Config::Tiny, version.
I already have one machine running where I used "perl -MCPAN -e 'install
Math::Calc::Units'" etc. for each dependancy that the original code
complained about. What's a better way of doing this so that I can
automate the process?
My approach:
All the nodes have a common nfs mounter directory too (/usr/local/) so I
thought of doing manual compiles once to this non-standard location by
using " perl Makefile.PL PREFIX=/usr/local/lib/perl; make; make test;
make install"
Unfortunately then the next programs down the line don't seem to find the
modules they need where they expect to find them. eg.
######error########
Can't locate Math/Calc/Units/Convert.pm in @INC (@INC contains:
/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.7/x86_64-linu
#########################
I tried " setenv PERL5LIB /usr/local/lib/perl" but many modules seem to
be installed deep down this heirarchy. PERL5LIB based searches do not
seem recursive?
Example: /usr/lib/perl5/site_perl/5.8.8/Math/Calc/Units/Convert.pm
So my $PERL5LIB does not help much unless I were to set each deep
location in there. Besides, when I manually browsed I find non-perl-
module files like "Grammar.y" that I am not sure if I need copied or not.
What's the best way to handle these twin related problems: (1) Automating
a multi-dependancy perl install to many servers (2) using non-standard
paths.
Any advice?