This is an old revision of the document!
Table of Contents
Perl Modules on RH/FC
Some of these notes come from the mailing list at http://open-ils.org/listserv.html.
Perl Modules
This is intended to be a comprehensive list of perl modules that you will need. Dependencies (modules necessary for the install of others) are listed first; the rest are alphabetized for ease of reference.
Some of the names look similar to the packages you will have already installed, but they may not be the same. The modules are what perl requires to interface with those installed components. And perl modules installed as packages usually begin with "perl-".
Module::Build XML::SAX
Module::Build is is a system for building, testing, and installing Perl modules. It is required for some of the DateTime modules to be properly installed. The current version of Module::Build appears to be 0.2807. On FC6, this version of the module had to be force installed (see below). XML::SAX is required for some of the the MARC modules to be installed.
Bundle::LWP (requires gcc) Cache::Memcached CGI (must be CGI-3.10 or similar to work with latest mod_perl2) Class::DBI Class::DBI:AbstractSearch DateTime (requires Module::Build) DateTime::Format::ISO8601 DBD::Pg (requires postgresql) Email::Send Error GD::Graph3d JavaScript::SpiderMonkey (requires js and js-devel) Log::Log4perl MARC::Charset (requires XML::SAX) MARC::File::XML Net::Server::PreFork Net::Z3950 (requires yaz and libyaz-devel) Text::Aspell (requires aspell) Template UNIVERSAL::require Unix::Syslog XML::LibXML (requires libxml2 and libxml2-devel) XML::LibXSLT (requires libxslt and libxslt-devel) Text::CSV
Check your system to determine whether you already have each module. The most reliable way is to use perl itself. With this test, you either get an error message or "ok".
perl -e 'use Module::Name; print "ok\n";'
You can also check to see what version of the module you have.
perl -MModule::Name -e 'print "$Module::Name::VERSION\n"'
Or you can just try to install each one with CPAN. If a module is installed (and it is up to date) the output will say so.
perl –MCPAN –e 'install Module::Name'
When you install a module, CPAN may pull in other dependencies that may not be listed here.
Interactive Mode and Manual Install
If you encounter an error in the "test" part of the CPAN install process, it may help to enter interactive mode and force the module to install. On FC6, Module::Build and JavaScript::SpiderMonkey had to be installed in this manner (without a good test).
cpan cpan> force install Module::Name cpan> exit
You may also experience errors in the "make" part of the install. On FC6, Net::Z3950 threw an "Error 2"; according to
an older version of the README, this can be ignored. In this case, you will have to do a manual install (with a twist).
cd /root/.cpan/build/Net-Z3950-0.51/yazwrap make cd .. make make test make install
Alternative Methods
You can write a little script to install all of the modules above. The only downside is that you may not see any error messages that scroll by.
If you want to install perl modules as packages, there are quite a few pre-built package repositories out there that you can add to your up2date/yum configuration:
- DAG's (popular perl modules for RHEL/FC) http://dag.wieers.com/home-made/apt/
- RPMPAN http://rpmpan.sf.net
Beyond that you can use cpan2rpm or the rpmpan script with cpanflute2 to build an entire tree of modules for your enjoyment.
This page is under construction.