Thu Feb 11 21:07:10 2010: Request 42986 was acted upon.
Transaction: Correspondence added by TJC
       Queue: PAR
     Subject: PAR-based modules use system XS modules over included modules
   Broken in: 0.984
    Severity: Important
       Owner: Nobody
  Requestors: t...@cpan.org
      Status: open
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=42986 >


On Thu Feb 11 05:25:53 2010, RSCHUPP wrote: 
> Run the attached script as
> 
> $ perl extract-embedded.pl EXECUTABLE DIR
> 
> it will extract all stuff (modules and shared libs) embedded
> in EXECUTABLE into DIR (using their original names). 
> To check the version of .so I suggest to compare md5sums against
> possible candidates.

Checking the original executable:

$ ./blah 
Compress::Raw::Zlib object version 2.008 does not match bootstrap 
parameter 2.024 at /usr/local/lib/perl/5.10.0/Compress/Raw/Zlib.pm line 
97.
Compilation failed in require at /home/tobyc/perl/lib/Archive/Zip.pm 
line 12.
BEGIN failed--compilation aborted at /home/tobyc/perl/lib/Archive/Zip.pm 
line 12.
Compilation failed in require at -e line 358.

$ ./extract-embedded.pl blah extract/
...
$ cd extract

$ find .|grep Zlib
./IO/Compress/Zlib
./IO/Compress/Zlib/Extra.pm
./Compress/Zlib.pm
./Compress/Raw/Zlib.pm
./auto/Compress/Raw/Zlib
./auto/Compress/Raw/Zlib/autosplit.ix
./auto/Compress/Raw/Zlib/Zlib.so
./auto/Compress/Zlib
./auto/Compress/Zlib/autosplit.ix

$ grep VERSION ./Compress/Raw/Zlib.pm
$VERSION = '2.024';

$ md5sum ./auto/Compress/Raw/Zlib/Zlib.so
04c2dc8c8fe0ac9606ef29aad5c959d4
# This matches the md5sum of version 2.024 on the build machine.


So it seems like the executable PAR file contains both .pm and .so of 
version 2.024, yet when executed is still mysteriously trying to load 
the .so from the target machine.

Reply via email to