With any luck, someone has seen this problem before and can fix it easily. I don’t seem to be able to find the fix by searching, but the search terms feel like they’re either too general or too specific.
I was trying to install some perl software on a debian lenny system that was upgraded from etch (and previously from sarge). After installing the dependencies, I started getting errors like this:-
$ perl -MYAML::Syck -e print Can't locate YAML/Syck.pm in @INC (@INC contains: /usr/local/lib/perl5/5.10.0/i686-linux /usr/local/lib/perl5/5.10.0 /usr/local/lib/perl5/site_perl/5.10.0/i686-linux /usr/local/lib/perl5/site_perl/5.10.0 .). BEGIN failed--compilation aborted.
Update: Well done to Raphael who spotted the local that I’d overlooked. D’oh! Now to see if I can discover where that came from.
Update 2: Also thanks to Florian who emailed in at about the same time (I don’t read my email as much as my website dashboard, usually).
Then I discovered that the debian mirror being used (which is in the same city, and in a nearby network) is marked as bad on the health check. I switched mirrors to a known-good one that I’ve used for other systems recently, but no joy.
I think a key symptom is this bit near the end of the output of
Compiled at Aug 4 2008 09:48:59 @INC: /usr/local/lib/perl5/5.10.0/i686-linux /usr/local/lib/perl5/5.10.0 /usr/local/lib/perl5/site_perl/5.10.0/i686-linux /usr/local/lib/perl5/site_perl/5.10.0
Our good systems show a December “compiled at” date and a much longer @INC list. I’ve tried reinstalling pretty much every package I think might be connected, including libc6, libperl5.10, perl, perl-base and perl-modules (those last four are all version 5.10.0-19). I really don’t want to reinstall the whole system because it’s behind an irritating firewall that will make it a 10-hour round-trip site visit. I’m currently hunting and removing obsolete packages to try to make sure they’re not causing problems, because I’m running out of straws to clutch at.
How would you recover a debian system from this?