Skip Menu |

This queue is for tickets about the PAR-Packer CPAN distribution.

Report information
The Basics
Id: 56157
Status: resolved
Priority: 0/
Queue: PAR-Packer

People
Owner: Nobody in particular
Requestors: NKH [...] cpan.org
Cc:
AdminCc:

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



Subject: Compress::Raw::Zlib object version 2.008 does not match bootstrap parameter 2.020 at /usr/lib/perl5/Compress/Raw/Zlib.pm
I pp'ed a script on an Ubuntu box and ran it on another Ubuntu box and got the following error: Compress::Raw::Zlib object version 2.008 does not match bootstrap parameter 2.020 at /usr/lib/perl5/Compress/Raw/Zlib.pm line 97. Compilation failed in require at /usr/share/perl5/Compress/Zlib.pm line 12. BEGIN failed--compilation aborted at /usr/share/perl5/Compress/Zlib.pm line 12. Compilation failed in require at /usr/share/perl5/Archive/Zip.pm line 24. BEGIN failed--compilation aborted at /usr/share/perl5/Archive/Zip.pm line 24. Compilation failed in require at -e line 359. The source box was a USB boot image. Everything was installed with apt-get. Information for other interested in the why perl complains can be found here http://www.perlmonks.org/?node_id=675748 and here http://prlmnks.org/html/491084.html I did tried to force pp's hand with a -M Compress::Raw::Zlib with no success. Whatever version or version problem exist on the target system, I expected PAR packed exes to contain the right versions. Am I wrong?
Subject: Re: [rt.cpan.org #56157] Compress::Raw::Zlib object version 2.008 does not match bootstrap parameter 2.020 at /usr/lib/perl5/Compress/Raw/Zlib.pm
Date: Wed, 31 Mar 2010 17:25:02 +0200
To: bug-PAR-Packer [...] rt.cpan.org
From: Roderich Schupp <schupp [...] argumentum.de>
On Wed, Mar 31, 2010 at 2:50 PM, NKH via RT <bug-PAR-Packer@rt.cpan.org> wrote: Show quoted text
> I pp'ed a script on an Ubuntu box and ran it on another Ubuntu box and > got the following error: > > Compress::Raw::Zlib object version 2.008 does not match bootstrap > parameter 2.020 at /usr/lib/perl5/Compress/Raw/Zlib.pm line 97.
Show quoted text
> Whatever version or version problem exist on the target system, I > expected PAR packed exes to contain the right versions. Am I wrong?
No, that's what to expect. It's probably a known bug. Can you post the actual Ubuntu package version numbers for PAR::Packer and Perl itself (from the machine where you ran pp). Cheers, Roderich
I did look at all the bugs in RT including those that were closed and rejected. I may have missed it though. as for the package, I don't know and I don't run Ubuntu at home. A proxy pp command is installed and when you run it it tells you what to package shoud be added.
Subject: Re: [rt.cpan.org #56157] Compress::Raw::Zlib object version 2.008 does not match bootstrap parameter 2.020 at /usr/lib/perl5/Compress/Raw/Zlib.pm
Date: Wed, 31 Mar 2010 20:11:45 +0200
To: bug-PAR-Packer [...] rt.cpan.org
From: Roderich Schupp <schupp [...] argumentum.de>
On Wed, Mar 31, 2010 at 7:04 PM, NKH via RT <bug-PAR-Packer@rt.cpan.org> wrote: Show quoted text
>       Queue: PAR-Packer > > I did look at all the bugs in RT including those that were closed and > rejected. I may have missed it though.
For example (but it was filed against PAR, not PAR::Packer) https://rt.cpan.org/Ticket/Display.html?id=42986 especially the exchange starting at https://rt.cpan.org/Ticket/Display.html?id=42986#txn-732094 Show quoted text
> as for the package, I don't know and I don't run Ubuntu at home. A proxy > pp command is installed and when you run it it tells you what to package > shoud be added.
So let's do a little experiment. I assume that the pp'ed executable works OK on the "source" box? Can you try the following there: $ pp -o version.exe -e 'print "v=$]\n";' $ ./version.exe v=5.010001 <---- that's on my box This should give us the version of the Perl interpreter embedded in any pp'ed executable (this version is fixed when the Ubuntu package of PAR::Packer was built). Cheers, Roderich
I can confirm this is a problem on Mac OS X 10.6.0, perl 5.10.0 "Compress::Raw::Zlib object version 2.020 does not match bootstrap parameter 2.026 at /Library/Perl/Updates/5.10.0/darwin-thread-multi-2level/Compress/Raw/Zlib.pm line 98" The problem however seems to be with the installation of Compress::Raw::Zlib on Mac OS X - or rather the fact that both exist, and that PAR is choosing one part of each. Not sure where the solution lies in the bug, or how to make sure PAR matches the dynalib with the .pm, but my solution was to remove the older one from my machine.
On Fri Apr 16 08:10:02 2010, SCOTT wrote: Show quoted text
> I can confirm this is a problem on Mac OS X 10.6.0, perl 5.10.0
In your case, I think the problem is perl 5.10.0 itself. The hack that PAR uses to intercept the loading of shared libraries (so that it can load the requested library from the .par archive or the pp-packed executable instead) doesn't work on 5.10.0. At least on Linux or *nix systems with similar shared library implementations. Said hack works on all Perl versions 5.6.x, 5.8.x as well as 5.10.1 and up. What's happening is the following: - your script (or - more likely - the bootstrap code in any packed excutable) require's Compress/Raw/Zlib.pm - a copy of Zlib.pm is loaded from the packed executable - this triggers loading of the corresponding Zlib.so - since PAR fails to intercept this, the packed copy of Zlib.so is ignored and the default loading machanism goes looking for Zlib.so in the filesystem (on the target machine) - by accidentall, a Zlib.so is found, but its version doesn't match Zlib.pm's version If you want to try out Perl 5.10.1, note that you must do it in the following order: - install Perl 5.10.1 - rebuild PAR - rebuild PAR::Packer - repack your script Cheers, Roderich
No further information from original reporter. SCOTT's "me too" is explained by him running Perl 5.10.0. Closing this bug.