Skip Menu |

This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id: 37344
Status: resolved
Priority: 0/
Queue: CPAN

People
Owner: Nobody in particular
Requestors: deisner [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.9205
Fixed in: (no value)



Subject: "not in gzip format" error during make test
I'm trying to build CPAN-1.9205 on a Solaris 10 machine using perl v5.8.4 (the one that ships with the OS). I can create the Makefile and build without problems. But when I "make test", it complains that "01mailrc.txt" is not in gzip format: delos [CPAN-1.9205]$ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00signature.......ok t/01loadme..........ok t/02nox.............ok t/03pkgs............ok t/10version.........ok t/11mirroredby......ok t/12cpan............1/19 gzip: /home/david/build/CPAN-1.9205/t/CPAN/authors/01mailrc.txt: not in gzip format gzip: /home/david/build/CPAN-1.9205/t/CPAN/modules/02packages.details.txt: not in gzip format gzip: /home/david/build/CPAN-1.9205/t/CPAN/modules/03modlist.data: not in gzip format t/12cpan............ok Thanks for your help.
Would you mind trying ANDK/CPAN-1.92_63.tar.gz just to see if the problem is solved in current development?
From: deisner [...] gmail.com
Same problem: delos [CPAN-1.92_63]$ make test PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00signature.......ok t/01loadme..........ok t/02nox.............ok t/03pkgs............ok t/10version.........ok t/11mirroredby......ok t/12cpan............1/25 gzip: /home/david/build/CPAN-1.92_63/t/CPAN/authors/01mailrc.txt: not in gzip format gzip: /home/david/build/CPAN-1.92_63/t/CPAN/modules/02packages.details.txt: not in gzip format gzip: /home/david/build/CPAN-1.92_63/t/CPAN/modules/03modlist.data: not in gzip format
From: deisner [...] gmail.com
I did a little digging. The problem only occurs of Compress::Zlib is not installed. I noticed that I didn't get this error on another system (Linux - Ubuntu 7.10 with Perl v5.8.8), and I've figured out why. The errors are getting generated from the gtest method in blib/lib/CPAN/Tarzip.pm: 111 sub gtest { 112 my($self) = @_; 113 return $self->{GTEST} if exists $self->{GTEST}; 114 defined $self->{FILE} or $CPAN::Frontend->mydie("gtest called but no FILE specified"); 115 my $read = $self->{FILE}; 116 my $success; 117 # After I had reread the documentation in zlib.h, I discovered that 118 # uncompressed files do not lead to an gzerror (anymore?). 119 if ( $CPAN::META->has_inst("Compress::Zlib") ) { 120 my($buffer,$len); 121 $len = 0; 122 my $gz = Compress::Zlib::gzopen($read, "rb") 123 or $CPAN::Frontend->mydie(sprintf("Cannot gzopen %s: %s\n", 124 $read, 125 $Compress::Zlib::gzerrno)); 126 while ($gz->gzread($buffer) > 0 ) { 127 $len += length($buffer); 128 $buffer = ""; 129 } 130 my $err = $gz->gzerror; 131 $success = ! $err || $err == Compress::Zlib::Z_STREAM_END(); 132 if ($len == -s $read) { 133 $success = 0; 134 CPAN->debug("hit an uncompressed file") if $CPAN::DEBUG; 135 } 136 $gz->gzclose(); 137 CPAN->debug("err[$err]success[$success]") if $CPAN::DEBUG; 138 } else { 139 my $command = CPAN::HandleConfig->safe_quote($self->{UNGZIPPRG}); 140 $success = 0==system(qq{$command -qdt "$read"}); 141 } 142 return $self->{GTEST} = $success; 143 } On the Linux system, where it works, Compress::Zlib is installed, so the first clause of the if statement at line 119 is taken. On the Solaris system, where I get the errors, the else clause is taken. If I force the Linux system to take the else clause, too ( "if (0 && $CPAN::META->has_inst("Compress::Zlib")..." then the Linux system also displays the error. ... I just installed Compress::Zlib on the Solaris box, and the problem has gone away.
From: deisner [...] gmail.com
On Thu Jul 03 11:57:14 2008, deisner wrote: Show quoted text
> I did a little digging. The problem only occurs of Compress::Zlib is not > installed.
D'oh. The problem occurs *if* Compress::Zlib is not installed.
The bug is fixed in current repository and will be fixed in 1.93_53. The problem was that Solaris native tar cannot process a path that is (in total) longer than 99 characters. The workaround was to shorten the longest path in the CPAN distribution.