Installing Catalyst under local::lib on DreamHost

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
Hey all-

I'm kind of a newbie at descending into CPAN dependency hell, but I'd
like to install the Catalyst framework on my DreamHost account to
check it out and play around with some projects. I haven't been able
to get it up and running as of yet. I've tried following the DreamHost
wiki's install instructions, but I wind up with a lot of "enter sudo
password:" even when I follow their directions closely.

I wound up finding instructions for installing under local::lib at the
Catalyst site:

I've gotten closer, but I still wind up with weird errors when trying
to install the Catalyst framework via CPAN. The error that I wind up
with is:

#   Failed test 'Response Cookies'
#   at t/live_engine_response_cookies.t line 33.
#     Structures begin differing at:
#          $got-> = Does not exist
#     $expected-> = ARRAY(0x814cbb8)

#   Failed test 'Response Cookies'
#   at t/live_engine_response_cookies.t line 51.
#     Structures begin differing at:
#          $got-> = Does not exist
#     $expected-> = ARRAY(0x814cbb8)
# Looks like you failed 2 tests of 15.
t/live_engine_response_cookies.............................. Dubious,
test returned 2 (wstat 512, 0x200)
 Failed 2/15 subtests

Any help you could provide would I had been running
into similar issues with tests failing while installing libwww-perl,
but that turned out to be an issue of the Compress::Zlib module not
being installed. I'm guessing it's a similar issue here, but I'm not
sure how to go about testing for what's missing.

Thanks in advance for any help!

Warren Taylor

Re: Installing Catalyst under local::lib on DreamHost

I finally got it to work.

First, follow the steps here, up until you're supposed to install
Catalyst (basically, follow the steps for installing local::lib):

(NOTE: instead of copying that line mentioned in the article to
the .bashrc file, copy it to the .bash_profile--that way you don't
have to source it and it'll run when you log in)

Then fire up CPAN. I just use all the default settings.

install Test::Pod
install Test::Pod::Coverage
install Class::C3
install File::Temp
install Compress::Zlib (THIS ONE IS VERY IMPORTANT--it was never
listed as a dependency, but install died without it)
install DBIx::Class
install Task::Catalyst

and let it install all of the dependencies. It'll probably still die
off with that error while installing Task::Catalyst. I'm guessing you
probably don't need all of these, but this is the order I installed
them and it worked for me.

Then, go to the CPAN website and download the absolute newest Catalyst
release--the one I got was from 10/15/08. Install it with the "perl
Makefile.PL; make;make test; make install" method. For some reason
when I'd install from the CPAN command line it would give me the older
version. Like I said before, I'm a bit of a newb on CPAN, so I'm
probably doing it wrong. At any rate, this method works.

Then it finally seems to work. If you have any problems, make sure you
have all of the modules installed that are mentioned on the Dreamhost
wiki ( ), as well as all of the
modules that are supposed to be installed by the cat-install script
mentioned in the wiki (the script itself didn't seem to work right,
but I went through and installed all the modules manually).

I used the following perl script to test what was installed, don't
know if someone might find it helpful:

use strict;
use warnings;

use ExtUtils::Installed;

my $instmod = ExtUtils::Installed->new();

printf "%-40s %s\n", "Module", "Version";
print  "--------------------------------------------------\n";
foreach my $module ($instmod->modules())
   my $version = $instmod->version($module) || "Unknown";
   printf "%-40s %s\n", $module, $version;
print  "------------------------\n";
print  "--- Contents of \@INC ---\n";
print  "------------------------\n";
my $x;
foreach $x(@INC)
   print "Inc: $x \n"

Site Timeline