[SOLUTION] Request Tracker (RT 3.8) Missing dependencies and modules error during compile

Introduction

This is a technical article that will help you solve most of the problems during compilation of software related to Perl.

It has a strong focus on RT, but I’m sure it will help you with any installation, since I’m exposing knowledge of CPAN.


Solution at a glance (or the ZenWay!)

So you are having one of the following errors trying to compile?

SOME DEPENDENCIES WERE MISSING.

CORE missing dependencies:

DBIx::SearchBuilder is up to date (1.56).

Base class package “Class::Accessor” is empty.

Can’t locate Clone.pm in @INC

Sounds familiar? Then keep reading!

1) Enquire each module with MISSING status in order to reveal if any other module is required and missing.

perl -MData::ICal -e ’1′

2) Install the missing requirements (you can also open a CPAN Shell and install it from there)

perl -MCPAN -e shell install Class::Accessor

or:

cpan -i RT::Authen::ExternalAuth

or open a CPAN shell and:

cpan> install RT::Authen::ExternalAuth

3) And install also the missing module  each module in order

perl -MCPAN -e shell install Class::Accessor



What you need to know…

PERL (http://en.wikipedia.org/wiki/Perl)

Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall, a linguist working as a systems administrator for NASA, in 1987, as a general-purpose Unix scripting language to make report processing easier.

http://en.wikipedia.org/wiki/Perl

CPAN (http://www.cpan.org/)

CPAN, the Comprehensive Perl Archive Network, is an archive of over 18,000 modules of software written in Perl, as well as documentation for it.

http://en.wikipedia.org/wiki/CPAN



The long and more detailed way!


Problem

You can’t compile, no matter how hard you try :p.

You are missing dependencies and strange errors popup. Even if you try to check them or install them manually, it will fail, either telling you they are still missing, or telling you

make testdeps

SOME DEPENDENCIES WERE MISSING.
ICAL missing dependencies:
Data::ICal …MISSING
CORE missing dependencies:
DBIx::SearchBuilder >= 1.54 …MISSING
make: *** [testdeps] Error 1

Trying to install dependencies and receiving an up to date status?

perl -MCPAN -e shell

cpan[1]> install DBIx::SearchBuilder

CPAN: Storable loaded ok (v2.15)
Going to read ‘/root/.cpan/Metadata’

Database was generated on Wed, 11 Nov 2009 06:27:11 GMT
DBIx::SearchBuilder is up to date (1.56).

cpan[2]>
cpan[2]> install Data::ICal
Data::ICal is up to date (0.16).

cpan[3]> quit
Lockfile removed.

Solution

No matter how you test them, the only way to know what’s wrong, is to load the module. Ok, ok, technically you execute the module with -M (but you have to load it, right?) ;-)

perl -MData::ICal -e ’1′

Base class package “Class::Accessor” is empty.
(Perhaps you need to ‘use’ the module which defines that package first.)
at /usr/local/share/perl/5.8.8/Data/ICal/Entry.pm line 5
BEGIN failed–compilation aborted at /usr/local/share/perl/5.8.8/Data/ICal/Entry.pm line 5.
Compilation failed in require at (eval 1) line 3.
…propagated at /usr/share/perl/5.8/base.pm line 84.
BEGIN failed–compilation aborted at /usr/local/share/perl/5.8.8/Data/ICal.pm line 5.
Compilation failed in require.
BEGIN failed–compilation aborted.

Read carefully, the first line is telling you everything you need to know: Base class package “Class::Accessor” is empty.



root@zenware:/opt/rt-3.8.6# perl -MCPAN -e shell install Class::Accessor

cpan shell — CPAN exploration and modules installation (v1.9402)
Enter ‘h’ for help.

cpan[1]> install Class::Accessor

All tests successful.
Files=7, Tests=133, 1 wallclock secs ( 0.07 usr 0.03 sys + 0.19 cusr 0.04 csys = 0.33 CPU)
Result: PASS
KASEI/Class-Accessor-0.34.tar.gz
/usr/bin/make test — OK
Running make install
Prepending /root/.cpan/build/Class-Accessor-0.34-_n7vGs/blib/arch /root/.cpan/build/Class-Accessor-0.34-_n7vGs/blib/lib to PERL5LIB for ‘install’
Manifying blib/man3/Class::Accessor::Fast.3pm
Manifying blib/man3/Class::Accessor::Faster.3pm
Manifying blib/man3/Class::Accessor.3pm
Installing /usr/local/share/perl/5.8.8/Class/Accessor.pm
Installing /usr/local/share/perl/5.8.8/Class/Accessor/Faster.pm
Installing /usr/local/share/perl/5.8.8/Class/Accessor/Fast.pm
Installing /usr/local/man/man3/Class::Accessor::Fast.3pm
Installing /usr/local/man/man3/Class::Accessor::Faster.3pm
Installing /usr/local/man/man3/Class::Accessor.3pm
Appending installation info to /usr/lib/perl/5.8/perllocal.pod
KASEI/Class-Accessor-0.34.tar.gz
/usr/bin/make install — OK

cpan[2]> exit
Lockfile removed.

Let’s test that the error now is gone!

root@zenware:/opt/rt-3.8.6# perl -MData::ICal -e ’1′

root@zenware:/opt/rt-3.8.6# make testdeps

/usr/bin/perl ./sbin/rt-test-dependencies –verbose –with-mysql –with-fastcgi
perl:
>=5.8.3(5.8.8) …found
users:
rt group (rt) …found
bin owner (root) …found
libs owner (root) …found
libs group (bin) …found
web owner (www-data) …found
web group (www-data) …found
CLI dependencies:
Term::ReadKey …found
Getopt::Long >= 2.24 …found
HTTP::Request::Common …found
Term::ReadLine …found
Text::ParseWords …found
LWP …found
CORE dependencies:
Class::ReturnValue >= 0.40 …found
Text::Quoted >= 2.02 …found
CSS::Squish >= 0.06 …found
Encode >= 2.21 …found
Module::Versions::Report >= 1.05 …found
MIME::Entity >= 5.425 …found
DBI >= 1.37 …found
Locale::Maketext::Lexicon >= 0.32 …found
Devel::StackTrace >= 1.19 …found
Digest::base …found
Time::ParseDate …found
File::Temp >= 0.18 …found
Locale::Maketext >= 1.06 …found
Tree::Simple >= 1.04 …found
Text::Template >= 1.44 …found
Scalar::Util …found
HTML::Scrubber >= 0.08 …found
File::Spec >= 0.8 …found
Calendar::Simple …found
DBIx::SearchBuilder >= 1.54 …MISSING
Sys::Syslog >= 0.16 …found
Mail::Mailer >= 1.57 …found
File::ShareDir …found
Regexp::Common …found
Digest::MD5 >= 2.27 …found
HTML::Entities …found
Cache::Simple::TimedExpiry …found
File::Glob …found
Locale::Maketext::Fuzzy …found
Time::HiRes …found
Text::Wrapper …found
Log::Dispatch >= 2.0 …found
UNIVERSAL::require …found
Email::Address …found
DASHBOARDS dependencies:
HTML::RewriteAttributes >= 0.02 …found
MIME::Types …found
FASTCGI dependencies:
CGI::Fast …found
CGI >= 3.38 …found
FCGI …found
GPG dependencies:
PerlIO::eol …found
GnuPG::Interface …found
ICAL dependencies:
Data::ICal …found
MAILGATE dependencies:
Pod::Usage …found
HTML::TreeBuilder …found
Getopt::Long …found
HTML::FormatText …found
LWP::UserAgent …found
MASON dependencies:
Storable >= 2.08 …found
CSS::Squish >= 0.06 …found
Apache::Session >= 1.53 …found
Errno …found
Devel::StackTrace >= 1.19 …found
CGI::Cookie >= 1.20 …found
Text::WikiFormat >= 0.76 …found
XML::RSS >= 1.05 …found
HTML::Mason >= 1.36 …found
Digest::MD5 >= 2.27 …found
MYSQL dependencies:
DBD::mysql >= 2.1018 …found
SMTP dependencies:
Net::SMTP …found
STANDALONE dependencies:
Net::Server …found
HTTP::Server::Simple >= 0.34 …found
HTTP::Server::Simple::Mason >= 0.09 …found

SOME DEPENDENCIES WERE MISSING.
CORE missing dependencies:
DBIx::SearchBuilder >= 1.54 …MISSING
make: *** [testdeps] Error 1

So ICal is now fix! Let’s solve the SearchBuilder module:

root@zenware:/opt/rt-3.8.6# perl -MDBIx::SearchBuilder

Can’t locate Clone.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.8.8/DBIx/SearchBuilder.pm line 9.
BEGIN failed–compilation aborted at /usr/local/share/perl/5.8.8/DBIx/SearchBuilder.pm line 9.
Compilation failed in require.
BEGIN failed–compilation aborted.
root@zenware:/opt/rt-3.8.6# perl -MDBIx::Clone
Can’t locate DBIx/Clone.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .).
BEGIN failed–compilation aborted.

cpan[1]> install Clone

CPAN: Storable loaded ok (v2.15)
Going to read ‘/root/.cpan/Metadata’
Database was generated on Wed, 11 Nov 2009 06:27:11 GMT
Running install for module ‘Clone’

………..

CPAN.pm: Going to build R/RD/RDF/Clone-0.31.tar.gz

……..

Checking if your kit is complete…
Looks good
Writing Makefile for Clone

/usr/bin/make install — OK

[Wed Nov 11 21:47:30 2009] [error] Can’t locate Apache/DBI.pm in @INC (@INC contains: /opt/rt/bin/../local/lib /opt/rt/bin/../lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl . /etc/apache2) at (eval 278) line 3.\n

[Wed Nov 11 21:47:30 2009] [error] Can’t load Perl module Apache::DBI for server 127.0.1.1:0, exiting..

cpan[1]> install Apache::DBI

CPAN: Storable loaded ok (v2.15)
Going to read ‘/root/.cpan/Metadata’

Installing /usr/local/man/man3/Apache::DBI.3pm
Installing /usr/local/man/man3/Apache::AuthDBI.3pm
Appending installation info to /usr/lib/perl/5.8/perllocal.pod
PGOLLUCCI/Apache-DBI-1.07.tar.gz
/usr/bin/make install — OK

cpan[2]> exit

Testing now everything it’s OK!

root@zenware:/opt/rt-3.8.6# perl -MDBIx::SearchBuilder

root@zenware:/opt/rt-3.8.6# make testdeps

/usr/bin/perl ./sbin/rt-test-dependencies –verbose –with-mysql –with-fastcgi
perl:
>=5.8.3(5.8.8) …found
users:
rt group (rt) …found
bin owner (root) …found
libs owner (root) …found
libs group (bin) …found
web owner (www-data) …found
web group (www-data) …found
CLI dependencies:
Term::ReadKey …found
Getopt::Long >= 2.24 …found
HTTP::Request::Common …found
Term::ReadLine …found
Text::ParseWords …found
LWP …found
CORE dependencies:
Class::ReturnValue >= 0.40 …found
Text::Quoted >= 2.02 …found
CSS::Squish >= 0.06 …found
Encode >= 2.21 …found
Module::Versions::Report >= 1.05 …found
MIME::Entity >= 5.425 …found
DBI >= 1.37 …found
Locale::Maketext::Lexicon >= 0.32 …found
Devel::StackTrace >= 1.19 …found
Digest::base …found
Time::ParseDate …found
File::Temp >= 0.18 …found
Locale::Maketext >= 1.06 …found
Tree::Simple >= 1.04 …found
Text::Template >= 1.44 …found
Scalar::Util …found
HTML::Scrubber >= 0.08 …found
File::Spec >= 0.8 …found
Calendar::Simple …found
DBIx::SearchBuilder >= 1.54 …found
Sys::Syslog >= 0.16 …found
Mail::Mailer >= 1.57 …found
File::ShareDir …found
Regexp::Common …found
Digest::MD5 >= 2.27 …found
HTML::Entities …found
Cache::Simple::TimedExpiry …found
File::Glob …found
Locale::Maketext::Fuzzy …found
Time::HiRes …found
Text::Wrapper …found
Log::Dispatch >= 2.0 …found
UNIVERSAL::require …found
Email::Address …found
DASHBOARDS dependencies:
HTML::RewriteAttributes >= 0.02 …found
MIME::Types …found
FASTCGI dependencies:
CGI::Fast …found
CGI >= 3.38 …found
FCGI …found
GPG dependencies:
PerlIO::eol …found
GnuPG::Interface …found
ICAL dependencies:
Data::ICal …found
MAILGATE dependencies:
Pod::Usage …found
HTML::TreeBuilder …found
Getopt::Long …found
HTML::FormatText …found
LWP::UserAgent …found
MASON dependencies:
Storable >= 2.08 …found
CSS::Squish >= 0.06 …found
Apache::Session >= 1.53 …found
Errno …found
Devel::StackTrace >= 1.19 …found
CGI::Cookie >= 1.20 …found
Text::WikiFormat >= 0.76 …found
XML::RSS >= 1.05 …found
HTML::Mason >= 1.36 …found
Digest::MD5 >= 2.27 …found
MYSQL dependencies:
DBD::mysql >= 2.1018 …found
SMTP dependencies:
Net::SMTP …found
STANDALONE dependencies:
Net::Server …found
HTTP::Server::Simple >= 0.34 …found
HTTP::Server::Simple::Mason >= 0.09 …found

All dependencies have been found.

Ok, so you know now how to finish, right?

make install

Enjoy!

We hope jeff solved his problem! (http://old.nabble.com/Problem-with-Data::ICal-(RT-3.8.1)-td20878390.html)

Perl command line reference: http://www.computerhope.com/unix/uperl.htm

Share

bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top


13 Comments »

  1. nankofuchi Says:

    Credo che lei abbia sbagliato

    comment-bottom
  2. Каталог статей Says:

    Completely I share your opinion. Thought good, it agree with you.

    comment-bottom
  3. Каталог статей Says:

    I congratulate, this remarkable idea is necessary just by the way

    comment-bottom
  4. MrBarns Says:

    Generally I do not post on blogs, but I would like to say that this post really forced me to do so, Excellent post!

    comment-bottom
  5. Tharris Says:

    I usually don’t post on Blogs but ya forced me to, great info.. excellent! … I’ll add a backlink and bookmark your site.

    surface encounters macomb mi

    comment-bottom
  6. Bernice Johanson Says:

    Nice article! I have bookmarked your site
    Kind Salutations.
    Bernice Johanson

    comment-bottom
  7. payday loans Says:

    I found you blog on search engines and i enjoy reading it. I’m sure I’m gonna read your next posts .keep up the good work! If interested in link exchange contact me!

    comment-bottom
  8. ZAREMA Says:

    Thanks the author for article. The main thing do not forget about users, and continue in the same spirit.

    comment-bottom
  9. gualetar Says:

    The subject is fully clear but why does the text lack clarity? But in general your blog is great.

    comment-bottom
  10. SPATTSYMN Says:

    i easily adore your writing choice, very helpful.
    don’t give up and keep writing as it just that is worth to follow it,
    impatient to browse through a lot more of your well written articles, thankx :)

    comment-bottom
  11. wtfwtfdef Says:

    I am not going to be original this time, so all I am going to say that your blog rocks, sad that I don’t have suck a writing skills

    comment-bottom
  12. guate Says:

    Excelente, me ayudo a lograr encontrar el problema.

    comment-bottom
  13. Zenware Says:

    Zenware…

    [...] something about zenware[...]…

    comment-bottom

RSS feed for comments on this post. TrackBack URL

Leave a comment