Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1643
  • Last Modified:

Module Installation's trouble - Can't locate loadable object for module Text::CSV_XS

Hi,

I'm having a trouble on installing the Text::CSV_XS perl module on AIX OS.
Actually, I'm not root and the server doesn't communicate with the ftp servers because of a proxy prohibiting them.
So I can't configure the cpan shell to install modules easierly.

I've downloaded modules from cpan website and figure out to install them with my own user which does'nt have root's rights. I follow the readme instructions : perl Makefile.pl, make, make test and make install. I sat the variable INSTALL_BASE and gave to the command my perl installation home like this :
perl Makefile.PL INSTALL_BASE=/apps/vali/exploit/script/bao/lib/Text-CSV_XS-1.05
I got this (with a warning) :
Welcome to Text::CSV (v.1.32)
=============================
You have Text::CSV_XS (v.1.05), so Text::CSV can work very fast!!

Checking if your kit is complete...
Looks good
'INSTALL_BASE' is not a known MakeMaker parameter name.
Writing Makefile for Text::CSV

the make command looked to run well, the make test command too.
But the make install command failed wih permission denied while creationg a directory where I didn't asked him to create it. I got this :

Warning: You do not have permissions to install into /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi at /usr/opt/perl5/lib/5.8.2/ExtUtils/Install.pm line 114.
mkdir /usr/opt/perl5/lib/site_perl/5.8.2/Text: Permission denied at /usr/opt/perl5/lib/5.8.2/ExtUtils/Install.pm line 176
make: The error code from the last command is 255.


Stop.

It seems like the installation process doesn't consider my variable INSTALL_BASE.

I need to install some lot of others modules, how can you help me to resolve this issue.
May be you have another way to get around this problem without being root and impossiblity to configure the cpan shell.

Thanks for your help.
0
papfal
Asked:
papfal
  • 4
  • 3
1 Solution
 
mankowitzCommented:
Try using local::lib

http://search.cpan.org/~haarg/local-lib-2.000008/lib/local/lib.pm#The_bootstrapping_technique

then you can do this

perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)'
0
 
papfalAuthor Commented:
The local::lib module is not installed. Actually, I can't use the CPAN shell to install local::lib even LWP modules.

I've got this when running perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)' command as asked in the notice insallation :

hvalihra-/apps/vali/exploit/script/bao/lib> perl -MCPAN -Mlocal::lib -e 'CPAN::install(LWP)'
Can't locate local/lib.pm in @INC (@INC contains: /apps/vali/exploit/script/bao/lib /usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2 /usr/opt/perl5/lib/site_perl).
BEGIN failed--compilation aborted.

The PERL5LIB variable contains "/apps/vali/exploit/script/bao/lib"

How can I circumvent the cpan shell installation in your solution ?

Thanks for your response ?
0
 
mankowitzCommented:
another option, as long as you have gcc is for you to make a local installation of perl

From http://www.perlmonks.org/?node_id=570777

wget http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.8.tar.gz
tar -xzvf perl-5.8.8.tar.gz
cd perl-5.8.8
sh Configure -Dprefix=/apps/vali/exploit/script/bao/lib -des #make this your home directory
make test
make install
mkdir -p ~/usr/local #used for template toolkit installation
) | tee perlinstall.out

( cat >> ~/.bashrc
export $PATH=~/apps/vali/exploit/script/bao/lib:$PATH  
export FTP_PASSIVE=1 )

cpan,
  manual configuration? no
  o conf prerequisites_policy follow
  o conf commit
  install cpan
    (i.e., upgrade CPAN)
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
papfalAuthor Commented:
Thanks for your help.

But I still have the same trouble. The process failed at hte make install command.
No right to create directory.

The problem is that I'm working in a sensitive server for a sensitive client.
The server is used for Service delivry so I can't do everything I want in it. Perl is already installed (on version 5.8.2 for AIX OS).

I'm just trying to install such modules without being root.

Can I have a light solution without re-installing perl ?
I think that the solution that consist to modify the Makefile.PL behaviour looks to be a good way.

Thanks for your solutions and your help
0
 
mankowitzCommented:
One last try. Older versions of perl used PREFIX instead of INSTALL_BASE.

perl Makefile.PL PREFIX=/apps/vali/exploit/script/bao/lib

Other than that, I really don't hve other ideas.
0
 
papfalAuthor Commented:
I've installed it by modifying directly the Makefile generated by the command make.
Before I did perl Makefile.PL only.

I set the variables below to take my own lib path :
PERLPREFIX
SITEPREFIX
INSTALLMANDIR
INSTALLSITEMAN1DIR
INSTALLMAN3DIR
INSTALLSITEMAN3DIR.

After that the make install went through the end without error and the module was correctly installed.

After, I tried your last solution by replacing INSTALL_BASE by PREFIX and the installation went through to the end too. Your solution is of course easier and cleaner than mine.

Thanks for your help.
0
 
mankowitzCommented:
great. Glad I could help (if only a bit late)
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now