AlpineWeb Home
Search: For:   ~ Advanced Search  
  Support Home     Documentation     Knowledgebase     Help Desk     Blog 
Support Home > VPS v1 > Extensions > Thursday, January 08, 2009

Installing Perl5 Modules Yourself


The content on this page is adapted from Answers to Some Perl/CGI Questions, by Bekman Stas.
NOTE: The Perl5 module that you wish to install may be included in our perlpac1 distribution or may be installable using the vcpan utility. Both of these methods are preferable to those detailed below. See the Perl5 module documentation for more details.
Installing Perl5 Modules yourself on your Virtual Server can be a tricky exercise. Utilities for installing Perl5 modules generally assume that the installation is being done in the root area of the file system of the host machine. As a Virtual Server user you do not have access to the root area of the host machine. So, you must install Perl5 modules locally, within your Virtual Server file system.

Installing Perl5 Modules Locally

Normally, the Perl5 module installation procedure includes commands something like these:
% perl5 Makefile.PL
% make
% make test
% make install
The first command, perl5 Makefile.PL, directs perl5 to create a makefile for the new module you are installing. When installing a perl5 module locally you must designate on the command line the home directory of your perl5 installation. That information is used by perl5 to create the makefile. Substitute the following command for perl5 Makefile.PL:
% perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local
The value <username> above should be replaced with the username of your Virtual Server. So the complete installation process is:
% perl5 Makefile.PL PREFIX=/usr/home/<username>/usr/local
% make
% make test
% make install
For older modules it may be necessary to designate several other variables on the command line during the module installation:
% perl5 Makefile.PL
  PREFIX=/usr/home/<username>/usr/local \
  INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \
  INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \
  INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \
  INSTALLBIN=/usr/home/<username>/usr/local/bin \
  INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \
  INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3
To save yourself some typing you can create a file and put these variable assignments above in the file (<filename>) something like this:
PREFIX=/usr/home/<username>/usr/local \
INSTALLPRIVLIB=/usr/home/<username>/usr/local/lib/perl5 \
INSTALLSCRIPT=/usr/home/<username>/usr/local/bin \
INSTALLSITELIB=/usr/home/<username>/usr/local/lib/perl5/site_perl \
INSTALLBIN=/usr/home/<username>/usr/local/bin \
INSTALLMAN1DIR=/usr/home/<username>/usr/local/lib/perl5/man \
INSTALLMAN3DIR=/usr/home/<username>/usr/local/lib/perl5/man/man3
Then, each time you install a perl5 module you can use the following syntax:
% perl5 Makefile.PL `cat <filename>`
% make
% make test
% make install
You also can have a few different local modules installation procedures, for example one for production perl and another for development:
% perl5 Makefile.PL `cat <filename>.production`
or
% perl5 Makefile.PL `cat <filename>.development`

Making scripts find the modules you have installed

When you install perl5 on your Virtual Server, all pre-installed modules are installed into these 4 directories (depending on which version of perl5 you are installing):
/usr/local/lib/perl5
/usr/local/lib/perl5/i386-bsdos/5.00X
/usr/local/lib/perl5/site_perl/i386-bsdos
/usr/local/lib/perl5/site_perl
These 4 directories are already preset in the perl5's @INC array. That array contains the paths that perl5 searches in order to find modules. If you install perl5 modules locally as described above, you will need to append these two directories.


Technical Support
° Getting Started Guide
  FreeBSD
° VPS v1 Help
° VPS v2/3 Help
° MPS v2/3 Help
  DNS
° Domain Name Service
° Domain Registration
   
° Help Desk
° Knowledgebase
° Support Policies
° Disclaimer

° AlpineWeb Home
° Compare Hosting Plans
° Network Topology

° Rates & Fees
° Order Center


  SEE ALSO
· Perl
· Perl Modules
· Installing Pre-Packaged Perl5 Modules
· Installing Your Own Perl5 Modules
· vcpan
· mod_perl


  Home | Site Map | Customer Backroom Copyright  ©  1997-2009  AlpineWeb Design