PPM downloads package but throws error when installing

Posted by AlisonRose on 2007-02-14 07:31
Forums: PPM | OS: Windows Server 2003

Hello,

I have installed ActivePerl-5.8.8.817-MSWin32-x86-257965 onto a Windows 2003 server SP1 with Microsoft security base line policies applied. When I try to install the packages through PPM, the following is thrown:

ppm> install date-calc
====================
Install 'Carp-Clan' version 5.8 in ActivePerl 5.8.8.817.
====================
Downloaded 741 bytes.
Couldn't read chunk at offset unknown at D:/Perl/site/lib/PPM/Archive/Tar.pm lin
e 25
Error: Can't call method "is_label" on an undefined value at
D:/Perl/site/lib/Archive/Tar.pm line 282.
ppm>

Does anyone know how to resolve this problem?

If you need any further information, please say.

I look forward to hearing from you!
Many thanks.

kevinw
ActiveState Staff
Wed, 2007-02-14 13:22

Hello Alison,

It looks like the package for Carp::Clan was too small -- it's far larger than 742 bytes. The remainder of the errors are normal when a package is truncated like that. I believe PPM 4 (as shipped with the latest ActivePerl, 5.8.8.820) is far friendlier in that case.

I can't reproduce this (using 5.8.8.817 on Windows XP Pro SP2, patched to current), so I'm guessing it was a transient issue. Here are my recommendations:

- retry the installation
- or uninstall 5.8.8.817 and install 5.8.8.820, as PPM 4 in 820 logs more information and may help track down the source of the problem if it keeps up

Cheers,

kjw

jessica_hynes | Thu, 2007-07-12 21:06

I am getting this error...but couldnt understand if any firewall is there...
I am going to post the Tar.pm which I have...Please send me updated file if you have
---------------

package PPM::Archive::Tar;

use strict;
use Archive::Tar;
use base qw(PPM::Archive);

sub is_gzipped {
my $o = shift;
return $o->{file} =~ /\.gz$/i
}

#sub is_bzipped {
# my $o = shift;
# return $o->{file} =~ /\.bz(?:ip)?2$/;
#}

sub load {
my $o = shift;
my $f = $o->{file};
# if ($o->is_bzipped) {
# require Compress::Bzip2;
# $o->{archive} = Archive::Tar::->new($f);
# }
# else {
$o->{archive} = Archive::Tar::->new($f, $o->is_gzipped);
# }
}

sub list_files {
my $o = shift;
$o->{archive}->list_files;
}

sub extract {
my $o = shift;
my $f = shift;
$o->{archive}->extract($f);
}

1;

--------------------------------------------------

Jessica

AlisonRose | Thu, 2007-02-15 07:44

Thank you for your prompt response kjw.

It was found to be a firewall problem in the end. I installed an older version of perl which gave me a more meaningful error message when I tried to download the ppm packages. We've resolved this.

So what is the the difference between 5.8.8.817 and 820? Is it just a better version of PPM? I will try this version when I get a chance to test it with Oracle 10g and all of our applications.

Many thanks again, Alison

kevinw
ActiveState Staff
Mon, 2007-03-12 12:25

Hi Alison,

There are several differences between 5.8.8.817 and 820. A number of fixed bugs, some upgrades to the core modules, and as you noticed, a new major version of PPM. It's definitely worth the upgrade.

Cheers,

kjw