ActivePerl 5.16.3. - Perl Module Installation via PPM: Extraction error with the .tgz

Posted by four_seasons on 2013-09-03 10:11
Forums: PPM | OS: Windows 7

Hi there,

I have ActivePerl 5.16.3 running on a Windows 7 64 bit. I'm attempting to install the Perl module DBIx-JSON by launching the PPM, marking the said module for install and then running marked actions via the UI.

I'm getting the error below when I do this:

ERROR: Can't extract files from C:\Users\mycorporateuserID\AppData\Local\Temp\ppm-Jw5UXe/DBIx-JSON-0.02.tgz

This issue isn't just for the JSON module, but all other ones I can see in the PPM repository that have not yet been installed. I did manage to install the DBD::mysql module successfully not too long ago so I'm not sure what has changed.

Below is a detailed error log from PPM, generated when I attempted to install the module.

/*

2013-08-30T14:57:30 <7> [Client.pm:1157] Want Test::More, have Test::More 0.98
2013-08-30T14:57:30 <7> [Client.pm:1157] Want DBI:: 1.15, have DBI:: 1.623
2013-08-30T14:57:30 <7> [Client.pm:1157] Want JSON::Syck (missing)
2013-08-30T14:57:30 <7> [Client.pm:1157] Want Carp::, have Carp:: 1.26
2013-08-30T14:57:30 <6> [Web.pm:108] GET http://ppm4.activestate.com/MSWin32-x86/5.16/1603/Y/YO/YOSTY/DBIx-JSON-0... ==> 302 Found (7560 bytes in 0.03 sec - 231 KB/s)
2013-08-30T14:57:30 <6> [Web.pm:108] GET http://bluecoat-proxy:8083/accelerated_pac_base.pac ==> 200 OK (6093 bytes in 0.06 sec - 96 KB/s)
2013-08-30T14:57:30 <6> [Web.pm:108] GET http://ppm4.activestate.com/MSWin32-x86/5.16/1603/T/TO/TODDR/YAML-Syck-1... ==> 302 Found (7560 bytes in 0.05 sec - 143 KB/s)
2013-08-30T14:57:30 <6> [Web.pm:108] GET http://bluecoat-proxy:8083/accelerated_pac_base.pac ==> 200 OK (6093 bytes in 0.06 sec - 100 KB/s)
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] Invalid header block at offset unknown at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <4> [ppm:13] No data could be read from file at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.
2013-08-30T14:57:30 <3> [GUI.pm:2012] Can't extract files from C:\Users\mycorporateuserID\AppData\Local\Temp\ppm-I8tPGI/DBIx-JSON-0.02.tgz at C:/Perl/lib/ActivePerl/PPM/Client.pm line 1367.

*/

If I can get some help on installing the module without the file extraction issue, that'd be great. I have tried commenting out "##$ua->default_header("Accept-Encoding" => "gzip, deflate");" in the Web.pm, and launching the PPM as an Administrator.

Thanks in advance.

grahams
ActiveState Staff
Fri, 2013-09-06 12:13

From the docs:
$TEMPDIR/ppm-XXXXXX/

Temporary directories used during install. Packages to be installed are unpacked here.

These files contains a single package that can be installed by PPM. They are compressed tarballs containing the PPD file for the package and the blib tree to be installed.

XML files containing meta information about packages. Each package has its own .ppd file. See the ActivePerl::PPM::PPD manpage for additional information.

If you can, you should try to verify that the Tempfiles listed are actually being created and are not just 0-byte placeholders (which would point to a problem with an overly active firewall or virus scanner). If they look like proper archives, then it might be an ACL setting on your home directory. If this is a Enterprise flavor of Win7, your group policies may be blocking the use of the normal TEMPDIR.