I’ve been running apocryph.org and my other sites off of a pair of VPS instances hosted at FutureHosting. It’s been a mixed bag of good and bad experiences, about which more later. Long story short, I was standing up a new back-end server instance to host the MySQL databases and my personal Subversion repository. In order to do this I obviously needed SVN installed. No problem, of course, it’s as easy as ‘sudo yum install subversion‘. Except it isn’t.
When I run the above command, I get:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.secsup.org
* updates: mirror.raystedman.net
* addons: mirrors.tummy.com
* extras: mirrors.adams.net
base | 1.1 kB 00:00
updates | 951 B 00:00
addons | 951 B 00:00
extras | 1.1 kB 00:00
Excluding Packages in global exclude list
Finished
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package subversion.x86_64 0:1.4.2-4.el5 set to be updated
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
--> Processing Dependency: neon >= 0.25.5-6.el5 for package: subversion
--> Processing Dependency: libneon.so.25()(64bit) for package: subversion
---> Package subversion.i386 0:1.4.2-4.el5 set to be updated
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
--> Processing Dependency: libneon.so.25 for package: subversion
--> Running transaction check
---> Package subversion.x86_64 0:1.4.2-4.el5 set to be updated
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
---> Package subversion.i386 0:1.4.2-4.el5 set to be updated
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion
---> Package neon.x86_64 0:0.25.5-10.el5 set to be updated
---> Package neon.i386 0:0.25.5-10.el5 set to be updated
--> Finished Dependency Resolution
subversion-1.4.2-4.el5.i386 from base has depsolving problems
--> Missing Dependency: perl(URI) >= 1.17 is needed by package subversion-1.4.2-4.el5.i386 (base)
subversion-1.4.2-4.el5.x86_64 from base has depsolving problems
--> Missing Dependency: perl(URI) >= 1.17 is needed by package subversion-1.4.2-4.el5.x86_64 (base)
Error: Missing Dependency: perl(URI) >= 1.17 is needed by package subversion-1.4.2-4.el5.i386 (base)
Error: Missing Dependency: perl(URI) >= 1.17 is needed by package subversion-1.4.2-4.el5.x86_64 (base)
Not cool. Why can’t yum resolve that dependency? That’s what it’s for? Oh well, I’ll install it manually with ‘sudo yum install perl-URI‘. Um, no:
...
Parsing package install arguments
No package perl-URI available.
Nothing to do
No package available? WTF?
Googling about yields posts like this one, which suggest manually downloading and installing the perl-URI RPM. I tried that and got this:
warning: perl-URI-1.37-2.fc11.noarch.rpm.1: Header V3 RSA/SHA256 signature: NOKEY, key ID d22e77f2
error: Failed dependencies:
perl(:MODULE_COMPAT_5.10.0) is needed by perl-URI-1.37-2.fc11.noarch
rpmlib(FileDigests) <= 4.6.0-1 is needed by perl-URI-1.37-2.fc11.noarch
Not helpful. But then I goggled about a bit more and ran into this. The OP in this forum thread had the exact same problem, and it turned out there were exclusions in his /etc/yum.conf file that excluded, among other things, all perl packages. I looked at my yum.conf and found this:
exclude=apache* bind-chroot courier* dovecot* exim* httpd* mod_ssl* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
WTF? Why are all those packages excluded?
I opened a ticket with FutureHosting on this, and first they just manually installed the perl-URI RPM and closed the ticket. I pushed further on why these excludes were there, and got this reply:
They are automatically put in there when cPanel installs. It’s because of cPanel.
Thank you,
Because of cPanel. Well, that clears it right up. This is the sort of answer I expect from FutureHosting, where their support people are clearly paid to close tickets, not explain things to users. Why does cPanel require these exclusions? What would happen if I removed them? What did the support guy do to get the perl-URI package installed? I don’t know. I may never know. But if you run in to this problem, particularly if you’re hosted on a VPS or cPanel instance, check your exclude in yum.conf.
anelson Uncategorized