perl CPAN not installed by default

nobaloney

NoBaloney Internet Svcs - In Memoriam †
Joined
Jun 16, 2003
Messages
26,113
Location
California
Maybe I did something wrong, but perl CPAN wasn't installed in my CentOS6 installation. I had to install it manually, from an rpm I found using rpmfind.net:
Code:
perl-CPAN-1.9402-119.el6_1.1.i686.rpm
I had to install these dependencies which I also found through rpmfind.net:
Code:
perl-devel-5.10.1-119.el6_1.1.i686.rpm
perl-Digest-SHA-5.47-119.el6_1.1.i686.rpm
perl-ExtUtils-MakeMaker-6.55-119.el6_1.1.i686.rpm
perl-ExtUtils-ParseXS-2.2003.0-119.el6_1.1.i686.rpm
perl-Test-Harness-3.17-119.el6_1.1.i686.rpm
Once I downloaded these I put them into a new subdirectory of /usr/local/src.

In that directory I ran:
Code:
yum install perl*rpm
which worked for me. Your mileage may differ.

Why did I need it? When I was running ./build update_versions an exim update was available which required ExtUtils::Embed When trying to install that I discovered it needed dependencies, and I decided to install CPAN; I'd still need to install through dependency hell for a while, but once done CPAN would take care of future perl dependencies for me.

But it wasn't to be :(. After I got CPAN working I found that ExtUtils::Embed is only available (at the time of this writing) as an unstable module.

I decided to forgo updating exim.

Note of course that version numbers may change, and ExtUtils::Embed may finally be stable, by the time you're reading this.

As always, you can get my professional help in doing the installation if you decide you need CPAN and don't want to attempt it yourself.

More: since doing this I decided to install ExtUtils::Embed using the instructions in the DirectAdminl knowledgebase. This time it worked with no dependencies.

So I ran the ./build exim command to update exim, from custombuild.

This time it worked.

hooray!

:D

Jeff
 
I also had the same problem with Exim after installing DA on CentOS 6, and solved it by doing yum install perl-ExtUtils-Embed like mentioned here http://help.directadmin.com/item.php?id=396

I have not installed cpan, I don't now why I should? Everything works great ...
 
With CentOS 5 (and probably CentOS4 as well; I don't remember, CPAN was installed with perl. My guess is that Red Hat would rather you use RPMs for everything; makes support easier for them. And of course CentOS blindly follows (as it certainly should) Red Hat.

I guess I prefer CPAN because it's the perl way and installs against the current system; I'm not limited to only modules that are available from various CentOS repositories. And now with CentOS 6 offering so much less in the repositories than earlier versions did (again, not their fault; they just follow the RedHat upstream) and DirectAdmin doing so much not in the CentOS repositories, I think it's a good idea. Maybe because I'm old :).

CPAN definitely takes longer to install than using an RPM, but it works by building against dependencies rather than just installing and patching; imho, that's a better way. Those of us who've been managing servers don't need to look for ways to do stuff; when we see an error that Chocolate::Belgian is required, we simply type:
Code:
perl -MCPAN -e 'install Chocolate::Belgian'

More information here (cpan.org). Note point IV; the actor who made that line famous (on the television show Lost in Space), Dick Tufeld, died here in Southern California, two weeks ago today, at the age of 85).

Jeff
 
Thank you very much for this information! It was valuable for me. :)

(Edit: Hmm. Somehow I think my wording sounded like a typical forum spammer. Oh well. I just wanted to thank you. I am still learning to manage servers...)
 
No problem for me, ditto; I always take posts at face value. I find that a good trait for a moderator.

But I did come up with yet another problem: Trying to install spamassassin with custombuild I ran into a lot of perl module dependencies; they came with instructions for loading the dependencies through cpan. It's taking forever; I wish I knew how to just install one rpm through yum and let it find the dependencies.

Jeff
 
Back
Top