User Tools

Site Tools


perl_modules_on_rh_fc

This is an old revision of the document!


Perl Modules on RH/FC

<<Prev|Index|>>

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:

  1. DAG's (popular perl modules for RHEL/FC) http://dag.wieers.com/home-made/apt/

Beyond that you can use cpan2rpm or the rpmpan script with cpanflute2 to build an entire tree of modules for your enjoyment.

<<Prev|Index|]]>>

This page is under construction.

perl_modules_on_rh_fc.1191437692.txt.gz · Last modified: 2022/02/10 13:33 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.