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: [email protected]
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.