Sunday, June 8, 2008

Can't call method "value" on an undefined value at /usr/share/perl5/IO/Uncompress/RawInflate.pm line 64

I tried to install SocialText Open about two weeks ago and it had then screwed up my CPAN. This is the error that showed whenever I tried to install a module:
Can't call method "value" on an undefined value at /usr/share/perl5/IO/Uncompress/RawInflate.pm line 64

For not being a Perl user (I'm a Java guy after all and a Linux end-user), I went to #perl of irc.freenode.net to seek for some help and I was asked to raise a bug instead in the Ubuntu site. I didn't do it nor tried to fix it after that as I was stuck with other higher priority tasks.

I have a little bit more time this afternoon so I asked Google for an answer and it appeared to have more results this time (two weeks ago, it had just two entries). That basically has concluded that this is a pretty new problem on Debian/Ubuntu.

Removing libcompress-raw-zlib-perl solved my problem, as suggested by nxadm. You may also want to try other options provided by other blog readers if you hit into similiar issue.

Good luck messing with Perl.

- yc

5 comments:

Anonymous said...

Thanks!

Anonymous said...

Thanks, I got this on a Fedora box after installing gcc via yum, it was working beforehand. Perhaps it's an issue with one of these:


Installing:
gcc x86_64 4.1.2-33 fedora 5.3 M
Installing for dependencies:
glibc-devel x86_64 2.7-2 fedora 2.4 M
glibc-headers x86_64 2.7-2 fedora 599 k
kernel-headers x86_64 2.6.25.6-27.fc8 updates 734 k

Ian! said...

I ran an "install Bundle::CPAN" without first doing "apt-get install
build-essentials", and that was a mistake. Many things didn't build
fully, and CPAN wedged itself into a state where RawInflate.pm was
broken and nothing could be done. Make sure you run "apt-get install
build-essentials" first. It would be nice if CPAN would know this
somehow so that it didn't let you fail and wedge itself.

Running "apt-get remove libcompress-raw-zlib-perl" got CPAN un-wedged and
allowed "install Bundle::CPAN" to complete; but, when I did "apt-get
install spamassassin", it brought back the broken old version of
RawInflate.pm and CPAN was broken again! Looks like the Ubuntu package
for the compress library is too old for the current CPAN, and of course
CPAN and APT don't share version information and get along nicely.

I managed to do something like "force install Bundle::CPAN" (or maybe
it was a force install of Zlib) to over-ride the broken RawInflate
and get CPAN working again. So Ubuntu APT thinks I have the "old"
libcompress-raw-zlib-perl installed and CPAN knows we have the new stuff.

SpamAssassin's sa-update -D shows things are working.

Anonymous said...

On mythbuntu I had the same problem. I uninstalled libcompress-raw-zlib-perl as above and installed build-essential. Next I installed SHA1 (by typing cpan Digest::SHA1).

That seemed to do the trick for me.

CarlHako said...

I had this same issue on arch linux it actually appears when trying to run shepherd a tv program guide perl program. i fixed it by actually deleting RawDeflate.pm then running "cpan Compress::zlib" cpan did a few updates and installed a couple of other modules but it all works again :)