Cpan

Aus SchnallIchNet
Wechseln zu: Navigation, Suche


upgrade all

perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)';

or (if you wan't to trust CPAN to choose the default answer for interactive questions):

PERL_MM_USE_DEFAULT=1 perl -MCPAN -e 'CPAN::Shell->install(CPAN::Shell->r)';
CPAN::Shell->install() installs a package, who would have expected it? ;-)
CPAN::Shell->r lists all packages which have updates...


misc

misc things...



RHEL-5/centos-5 crapy perl

after every yum upgrade of perl on RHEL-5/Centos-5 systems some other issues ocure...
W-T-F !!!


number 1

XS Version of Scalar::Util mismatch

this shitting redhat-bug:
https://bugzilla.redhat.com/show_bug.cgi?id=375621
RH is not able to get rid of it since....

the problem is when perl is updated by rpm-packages i get the following error when running
a perl-script opening an ssl-socket:

You requested that XML::Stream turn the socket into an SSL socket, but you 
don't have the correct version of IO::Socket::SSL v0.81. at 
/usr/lib/perl5/site_perl/5.8.8/XML/Stream/Node.pm line 549

then i try

cpan> install IO::Socket::SSL
[...]
You need the XS Version of Scalar::Util for dualvar() support at Makefile.PL line 57

so to get rid of the message you will have to do:

cpan> force install Scalar::Util
[...]
Writing /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/List/Util/.packlist
 /usr/bin/make install -j2 -- OK

after that is run ok, do:

cpan> force install IO::Socket::SSL
[...]
Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/IO/Socket/SSL/.packlist
Manifying blib/man3/IO::Socket::SSL.3pm
  /usr/bin/make install -j2 -- OK

in the bugreport above they tell you to 'force install Scalar::Util' and then install the
current or newer perl version by: 'rpm -Uvh --force perl-VERSION.rpm'
this was not needed in my case...


number 2

if you get one of these errors installing any package using CPAN:

Undefined subroutine &Scalar::Util::readonly called at /usr/lib/perl5/site_perl/5.8.8/IO/Uncompress/Base.pm line 1104
and
Undefined subroutine &IO::Uncompress::Base::readonly called at /usr/lib/perl5/site_perl/5.8.8/IO/Uncompress/Base.pm line 1075.

follow these steps to fix it:

  1. search for Scalar::Util at http://search.cpan.org/
  2. select and download: Scalar-List-Utils in my case it was this version:
    http://search.cpan.org/~pevans/Scalar-List-Utils-1.32/
  3. unpack the tar.gz file
  4. cd into the package root-directory
  5. build the package by command-tripple : gmake, gmake test, gmake install
  6. once you complete this succsessfully
    you may run CPAN-Shell again and install your needed packages!

have fun.


reftype

error:

Can't call method "reftype" on unblessed reference at /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/Safe.pm line 370.

can be fixed by replacing 'reftype' to 'ref'
so edit: /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/Safe.pm line 370
and replace line 370:

my $reftype = $item && reftype $item

by:

my $reftype = $item && ref $item