Search code examples
perlglibrrdtoolpango

Caught in a neverending install cycle after upgrading Perl


Last night I was reading about a mysql tuning program here. I installed it and it said I needed a perl version higher than the one I had. I downloaded and installed perl 5.12.x

Suddenly my Munin utilities were tossing off errors like: Can't locate RRDs.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.12.2/i686-linux /usr/lib/perl5/site_perl/5.12.2 /usr/lib/perl5/5.12.2/i686-linux /usr/lib/perl5/5.12.2 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl .) at /usr/sbin/nginx-graph.pl line 2

Uninstalling and reinstalling the rrdtool rpms didn't move RRDs.pm from /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi/RRDs.pm

Thought I'd try installing rrdtool from source. It wanted pango.

Had to install newer FreeType and FontConfig.

Then the pango install wanted a new glib. Glib wouldn't make due to a gzlibcompressor error. Some Googling suggested that upgrading glib could cause a whole host of other issues.

I just want my !@#$ munin graphs, but I feel like I've started sliding down a dangerous slope, especially as this is hosting my nginx webserver.

Any tips, ideas, warnings?


Solution

  • It appears you used to have Perl 5.8.something. Perl major releases are not binary compatible, so you have to reinstall/upgrade all modules using XS and any programs that embed the Perl interpreter when changing between 5.8.x, 5.10.x, and 5.12.x.

    I would try to revert your system Perl to 5.8.x. This should get Munin working again. (I can't give detailed instructions for this, because I don't know what distribution you're using, how you installed Perl 5.12, or what else you've done trying to solve this.)

    Then use perlbrew to install a newer version of Perl for your personal use without messing up things that depend on the system Perl.