roik has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I am using Windows XP and I am trying to use ppm to install the DBI package. The transfer of data from the repository to my PC seems to go OK, and I've checked the temporary download file arrives OK. There appears to be a problem in the untar step though.
I have tried both ppm and ppm3. The terminal output is :
C:\>ppm install DBI Installing package 'DBI'... Bytes transferred: 368671 Can't call method "gzread" on an undefined value at c:/Perl/site/lib/A +rchive/Tar .pm line 274. C:\Documents and Settings\Rob>ppm3 install DBI ==================== Install 'DBI' version 1.27 in ActivePerl 5.6.1.631. ==================== Downloaded 368671 bytes. Extracting package. This may take a few seconds. Can't remove directory c:/tmp/DBI-328: Permission denied at /PerlApp/P +PM/Reposit ory.pm line 214 Error: Can't call method "gzread" on an undefined value at C:/Perl/site/lib/Archive/Tar.pm line 274.
I've searched the Activeperl website and my problem is mentioned but no solution is described other than checking the version of TAR.pm and ZLIB.pm, and mine are the right versions (I think!).
If anyone has encountered this and found a solution I'd be grateful to read it! Thanks.

Replies are listed 'Best First'.
Re: Activeperl ppm problem with gzread
by tachyon (Chancellor) on Nov 04, 2002 at 16:19 UTC

    You are not getting the full download which is about 2MB from memory. Try this. Download the zip file directly from http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/Zips

    Unzip this file using Winzip or similar to say C:\tmp and then navigate to \tmp and run:

    C:\tmp>ppm install DBI.ppd

    Works fine for me. I find downloading the zips and using this method generally works well.

    cheers

    tachyon

    s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print

      Thanks, I have tried that approach, and there does seem to be a lot more data that is downloaded. It still throws up the same error though:
      C:\tmp>ppm install DBI.ppd Installing package 'DBI.ppd'... Can't call method "gzread" on an undefined value at c:/Perl/site/lib/A +rchive/Tar.pm line 274.
      Maybe I should try to re-install Archive::Tar or Compress::Zlib?
      Cheers!
Re: Activeperl ppm problem with gzread
by PodMaster (Abbot) on Nov 04, 2002 at 17:03 UTC
    It happened to me a few times, when I tried installing a newer version of Archive::Tar.

    Run the *.msi installer again, that should fix it.

    However, you really don't need the commandline ppm utility to install ppm packages, just see my repository for directions.

    update: What is your $Archive::Tar::VERSION (should be 0.072)?

    ____________________________________________________
    ** The Third rule of perl club is a statement of fact: pod is sexy.

      Well, I've finally cracked it. Nothing clever on my part and your hints pointed me in the right direction. I replaced my ActivePerl build 631 with build 633, retried the ppm install and it all worked fine!

      I noticed as part of the upgrade that my $Archive::Tar::VERSION changed to 0.072 (I swear it claimed to be 0.22 before the re-install - bizarre).

      Cheers.