[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-21 Thread Roderich Schupp via RT
Sun Nov 21 09:13:01 2010: Request 63083 was acted upon.
Transaction: Correspondence added by RSCHUPP
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On 2010-11-19 02:53:30, Coctic wrote:

 [coc...@t60-2 tmp]$ ./find-libperl.pl
 libperl is /usr/lib64/libperl.so.5.8.8
 soname is libperl.so.5.8
 link name is libperl.so.5.8

That shows the problem (basename of libperl is different
from the link name) and also how to fix it (at least
on Linux using the GNU binutils toolchain). Can you please:

- drop myldr/{Makefile.PL,file2c.pl} from the attached tarball
  into a clean PAR::Packer source
- perl Makefile.PL ; make ; make test ; make install
- re-pack your test script and try it out

Cheers, Roderich


63083.tar.gz
Description: GNU Zip compressed data


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-21 Thread Coctic via RT
Sun Nov 21 10:42:02 2010: Request 63083 was acted upon.
Transaction: Correspondence added by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


Yes, test binary works after transfer to another machine as well as my
other binaries, thank a lot.

May I hope that the fix will be in the next release of PAR::Packer?


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-18 Thread Roderich Schupp via RT
Thu Nov 18 04:38:06 2010: Request 63083 was acted upon.
Transaction: Correspondence added by RSCHUPP
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On 2010-11-18 01:51:24, Coctic wrote:
 $ readelf -d

/home/users/cstef/tmp/par-cstef/cache-91983bfecf21472d244f6bf26116bc20ee4433d3/a.exe
 ...
  0x0001 (NEEDED) Shared library: [libperl.so.5.8]
 ...
 $ ls /home/users/cstef/tmp/par-cstef/cache-
 91983bfecf21472d244f6bf26116bc20ee4433d3/libperl*
 /home/users/cstef/tmp/par-cstef/cache-
 91983bfecf21472d244f6bf26116bc20ee4433d3/libperl.so.5.8.8

That explains it:

- the a.exe in the cache directory (which is different from the
  a.exe you actually invoked) is actually a special purpose
  Perl interpreter (it's actually the same file for any 
  packed executable)
- since your perl (on the machine where you built PAR::Packer) is
  linked against a shared libperl, the special interpreter is also
  linked against this libperl
- in this case we also pack said shared libperl into the executable;
  if the packed executable is run, the packed libperl is extracted
  into the cache area

The problem is the name of the libperl file in the cache:
when linking, ld burned libperl.so.5.8 into a.exe, so that's
the name the shared library loader is looking for when trying
to execute a.exe (the one in the cache area). It is run with 
the cache area prepended to LD_LIBRARY_PATH, so that's where
the loader is looking first. But the file there is called
libperl.so.5.8.8, hence it won't get considered. Next on the
loader's search path is the built-in /usr/lib where a file
called libperl.so.5.8 is actually found - but it's from perl 5.8.9
(and there exist apparently slight incompatibilities between
5.8.8 and 5.8.9 on the C level). 

So we've to find out what caused the discrepancy libperl.so.5.8
vs libperl.so.5.8.8 (and perhaps improve PAR::Packer's build process
to avoid that). Can you please post the output of 

  perl -V

(on the machine where you built PAR::Packer)?
IIRC I've seen similar before - are you running CentOS?

Note: Your workaround confirms that the problem is indeed caused by
the wrong libperl.so, but it won't work in general as the
cache area is specific to the user and also specific to
the packed executable (the long checksum in the cache area name
is approximately the SHA1 of the executable itself).





[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-18 Thread Coctic via RT
Thu Nov 18 04:46:20 2010: Request 63083 was acted upon.
Transaction: Correspondence added by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On Thu Nov 18 04:38:06 2010, RSCHUPP wrote:
 So we've to find out what caused the discrepancy libperl.so.5.8
 vs libperl.so.5.8.8 (and perhaps improve PAR::Packer's build process
 to avoid that). Can you please post the output of
 
   perl -V
[coc...@t60-2 ~]$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 8 patch 33449)
configuration:
  Platform:
osname=linux, osvers=2.6.18-ovz-smp-alt24,
archname=x86_64-linux-thread-multi
uname='linux apiary.rio.altlinux.org 2.6.18-ovz-smp-alt24 #1 smp tue
may 6 19:11:08 msd 2008 x86_64 gnulinux '
config_args='-de -rs -Darchname=x86_64-linux -Dd_dosuid -Ud_csh
-Dlibswanted=dl m c crypt db ndbm gdbm -Duseshrplib
-Dlibperl=libperl.so.5.8 -Dcc=gcc -Doptimize=-pipe -Wall -O2
-D_GNU_SOURCE -Dcccdlflags=-fPIC -DPIC -Dccdlflags=-rdynamic -Wl,-O1
-Dlddlflags=-shared -Wl,-O1 -Dldflags=-Wl,-O1 -Dprefix=/usr
-Dprivlib=/usr/lib/perl5 -Darchlib=/usr/lib/perl5/x86_64-linux
-Dvendorprefix=/usr -Dvendorlib=/usr/lib/perl5/vendor_perl
-Dvendorarch=/usr/lib/perl5/vendor_perl/x86_64-linux
-Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3
-Dvendorman1dir=/usr/share/man/man1 -Dvendorman3dir=/usr/share/man/man3
-Dsiteprefix=/usr/local -Dsitelib=/usr/local/lib/perl5/site_perl/5.8.8
-Dsitearch=/usr/local/lib/perl5/site_perl/5.8.8/x86_64-linux
-Dsiteman1dir=/usr/local/man/man1 -Dsite_man3dir=/usr/local/man/man3
-Dman1ext=1 -Dman3ext=3pm -Dcf_by=ALT Linux Team -Dcf_email=Alexey
Tourbin a...@altlinux.ru -Dmyhostname=localhost
-dperladmin=r...@localhost -Dmyuname=Linux 2.6.18-ovz-smp-alt24 x86_64
-Dnewmyuname=Linux 2.6.18-ovz-smp-alt24 x86_64
-Dinc_version_list=5.8.7/x86_64-linux 5.8.6/x86_64-linux
5.8.5/x86_64-linux 5.8.4/x86_64-linux 5.8.3/x86_64-linux
5.8.2/x86_64-linux 5.8.1/x86_64-linux 5.8.0/x86_64-linux 5.8.7 5.8.6
5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.6.1 5.6.0 -Dpager=/usr/bin/less
-isR -Di_shadow -Di_syslog -Dusethreads -Duseithreads -Duselargefiles
-Di_db -Di_gdbm -Di_ndbm -Di_sdbm -Ui_odbm'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=define uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-pipe -Wall -O2 -D_GNU_SOURCE',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='4.1.2 20070626 (ALT Linux, build
4.1.2-alt2)', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
  Linker and Libraries:
ld='gcc', ldflags ='-Wl,-O1 -L/usr/local/lib64 -L/usr/local/lib'
libpth=/usr/local/lib64 /usr/local/lib /lib64 /usr/lib64 /lib /usr/lib
libs=-ldl -lm -lpthread -lc -lcrypt -ldb -lgdbm
perllibs=-ldl -lm -lpthread -lc -lcrypt
libc=/lib64/libc-2.5.1.so, so=so, useshrplib=true,
libperl=libperl.so.5.8
gnulibc_version='2.5.1'
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-O1'
cccdlflags='-fPIC -DPIC', lddlflags='-shared -Wl,-O1
-L/usr/local/lib64 -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
THREADS_HAVE_PIDS USE_64_BIT_ALL USE_64_BIT_INT
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_REENTRANT_API
  Locally applied patches:
MAINT33449
ALT Linux patches
  Built under linux
  Compiled at Sep  7 2008 16:38:34
  %ENV:
   
PERL5LIB=/home/coctic/perl/lib/perl5/site_perl/:/home/coctic/perl/lib/perl5/site_perl/5.8.8/:/home/coctic/modules/lib/perl5/:/home/coctic/modules/lib/perl5/x86_64-linux-thread-multi/
  @INC:
/home/coctic/perl/lib/perl5/site_perl//5.8.8
/home/coctic/perl/lib/perl5/site_perl/
/home/coctic/perl/lib/perl5/site_perl/5.8.8/
/home/coctic/modules/lib/perl5//x86_64-linux-thread-multi
/home/coctic/modules/lib/perl5/
/home/coctic/modules/lib/perl5/x86_64-linux-thread-multi/
/etc/perl5
/usr/lib/perl5/x86_64-linux
/usr/lib/perl5

[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-18 Thread Roderich Schupp via RT
Fri Nov 19 02:44:18 2010: Request 63083 was acted upon.
Transaction: Correspondence added by RSCHUPP
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On 2010-11-18 04:46:20, Coctic wrote:
 somehow, and I am ready to do my best for it.

All right! Please run the attached script
(on the machine where you built PAR::Packer)
and post its output. It's actually the code
from myldr/Makefile.PL to find the shared libperl
with some modifications.

Cheers, Roderich


#!/usr/bin/perl -w
# Copyright 2002-2009 by Audrey Tang.
# Copyright (c) 2002 Mattia Barbon.
# This package is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.

use strict;
use warnings;
use Config;
use File::Spec;
use ExtUtils::Embed;
use DynaLoader;
use File::Basename;

xsinit(undef);

# used for searching libperls.
sub find_file {
my $file = shift;

my @paths = (
	$Config{bin},
	File::Spec-catdir($Config{'archlibexp'}, 'CORE'),
	split(/\Q$Config{path_sep}\E/, $ENV{$Config{ldlibpthname}} || ''),
	split(/ /, $Config{libpth}),
);

my $libperl;
if ($libperl = DynaLoader::dl_findfile(-lperl)) {
if (-l $libperl) {
my $realpath = readlink($libperl);
if (!File::Spec-file_name_is_absolute($realpath)) {
$realpath = File::Spec-rel2abs(
File::Spec-catfile(
dirname($libperl) = $realpath
)
);
}
$libperl = $realpath;
}
return $libperl if -e $libperl;
}

foreach my $path (@paths) {
	$libperl = File::Spec-catfile($path, $file);
	return $libperl if -e $libperl;

	# for MinGW
	$libperl = File::Spec-catfile($path, $1) if $file =~ /^lib(.+)/;
	return $libperl if -e $libperl;

   	# for Cygwin
	$libperl = File::Spec-catfile($path, $file.$Config{_a});
	return $libperl if -e $libperl;
}
}

my $pldflags = ldopts();

my $dynperl = $Config{useshrplib}  ($Config{useshrplib} ne 'false');
$dynperl = 1 if $pldflags =~ /\B-lperl\b/; # Gentoo lies to us!

my $libperl;
if ($dynperl) {
my $file = $Config{libperl};
my $so = $Config{so} || 'so';
$file = libperl.$so if $file eq 'libper'; # workaround Red Hat bug

$file =~ s/\.(?!\d)[^.]*$/.$Config{so}/;
$file =~ s/^lib// if $^O eq MSWin32;

$libperl = find_file($file);
if (not -e $libperl) {
$file =~ s/\.(?!\d)[^.]*$/.a/;
$libperl = find_file($file);
}
}
else
{
print no libperl DSO in use\n;
exit 0;
}

if (-e $libperl)
{
print libperl is \$libperl\\n;

my $name = basename($libperl);
if ($^O =~ /linux/)
{
my ($soname) = qx(objdump -ax $libperl) =~ /^\s*SONAME\s+(\S+)/m;
if ($? == 0  defined $soname)
{
print soname is \$soname\\n;
$name = $soname;
}
}
print link name is \$name\\n;
}
else
{
print libperl appears to be \$libperl\, but it doesn't exist\n;
}

# local variables:
# mode: cperl
# end:


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Coctic via RT
Wed Nov 17 08:13:18 2010: Request 63083 was acted upon.
Transaction: Ticket created by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in
 pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: new
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


I compile simple file

#!/usr/bin/perl
use IO ();

with pp -o a.exe a.pl

On the same machine it works OK.

Then I transfer it to another machine and get:
$ ./a.exe
Undefined subroutine DynaLoader::bootstrap called at
/usr/lib/perl5/x86_64-linux/XSLoader.pm line 105.
Compilation failed in require at
/usr/lib/perl5/x86_64-linux/IO/Handle.pm line 263.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/Handle.pm line 263.
Compilation failed in require at
/usr/lib/perl5/x86_64-linux/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/Seekable.pm line 101.
Compilation failed in require at /usr/lib/perl5/x86_64-linux/IO/File.pm
line 133.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/File.pm line 133.
Compilation failed in require at -e line 351.

Some details about machines:
Compile machine:

$ pp --version
PAR Packager, version 1.007 (PAR version 1.002)

$ perl -v

This is perl, v5.8.8 built for x86_64-linux-thread-multi

$ uname -a
Linux t60-2.parallel.ru 2.6.18-skif-rhel-alt13.M41.3 #1 SMP Tue Feb 2
12:09:59 MSK 2010 x86_64 GNU/Linux

Target machine (with binary not working):

$ perl -v

This is perl, v5.8.9 built for x86_64-linux-thread-multi

$ uname -a
Linux access.lomonosov.parallel.ru 2.6.27-tmc-srv-tmc76 #1 SMP Fri Aug
27 20:32:25 UTC 2010 x86_64 GNU/Linux


How can I make binary using IO that can be transferred to another machine?


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Roderich Schupp via RT
Wed Nov 17 08:56:17 2010: Request 63083 was acted upon.
Transaction: Correspondence added by RSCHUPP
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: new
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On 2010-11-17 08:13:18, Coctic wrote:
 Then I transfer it to another machine and get:
 $ ./a.exe
 Undefined subroutine DynaLoader::bootstrap called at
 /usr/lib/perl5/x86_64-linux/XSLoader.pm line 105.

That's not supposed to happen :(

A couple of questions:

- did you build PAR::Packer yourself?
- if yes
  - did you build it on the machine where you do the packing?
  - did you run make test and all tests succeeded?

Can you run the following on the machine where the packed
executable fails:

  strace -o a.strace -f -v -e trace=file,process ./a.exe

gzip the resulting a.strace and attach it to the ticket.

Cheers, Roderich


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Coctic via RT
Wed Nov 17 09:26:36 2010: Request 63083 was acted upon.
Transaction: Correspondence added by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On Wed Nov 17 08:56:17 2010, RSCHUPP wrote:
 - did you build PAR::Packer yourself?
 - if yes
   - did you build it on the machine where you do the packing?
   - did you run make test and all tests succeeded?
I ran cpan shell, then used 'install pp' command. As I remeber, it did
the tests and did not complain about it.
I can try re-make the tests if it's needed.

 gzip the resulting a.strace and attach it to the ticket.
Done it.


a.strace.gz
Description: application/binary


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Coctic via RT
Wed Nov 17 10:30:16 2010: Request 63083 was acted upon.
Transaction: Correspondence added by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


 - did you build PAR::Packer yourself?
 - if yes
   - did you build it on the machine where you do the packing?
Forgot to say: yes, it was done on the same machine that did the packing.

   - did you run make test and all tests succeeded?
I rebuilt pp, cpan skipped 1 test, all others succeeded. The bug did not
go away.


[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Roderich Schupp via RT
Wed Nov 17 12:28:26 2010: Request 63083 was acted upon.
Transaction: Correspondence added by RSCHUPP
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


Thanks for info and strace.

strace shows that a.exe pulled in /usr/lib64/libperl.so.5.8,
i.e the shared perl library from the system where it ran
(instead of the copy that is packed in the executable).
Since this is from another version of Perl it might explain the
problem. But it isn't supposed to do that...
 
strace also shows that you ran a.exe with LD_LIBRARY_PATH set
in the environment. Can you rerun a.exe without it and see 
if the problem goes away? 

Another thing to try: first remove PAR's cache area
which according to strace was

/home/users/cstef/tmp/par-cstef

(you have TMPDIR=$HOME/tmp, right?)

then run a.exe and look for a file also called a.exe in the
cache area, should be something like

/home/users/cstef/tmp/par-cstef/cache-LONGSHA1DIGEST/a.exe

and post the output of 

  readelf -d /home/users/cstef/tmp/par-cstef/cache-LONGSHA1DIGEST/a.exe

In the same directory there should also be a file matching libperl*so*
-what is its name?

Cheers, Roderich



[rt.cpan.org #63083] pp: Undefined subroutine DynaLoader::bootstrap called in pp-compiled bianry

2010-11-17 Thread Coctic via RT
Thu Nov 18 01:51:24 2010: Request 63083 was acted upon.
Transaction: Correspondence added by Coctic
   Queue: PAR-Packer
 Subject: pp: Undefined subroutine DynaLoader::bootstrap called in 
pp-compiled bianry
   Broken in: 1.007
Severity: Important
   Owner: Nobody
  Requestors: cs...@parallel.ru
  Status: open
 Ticket URL: https://rt.cpan.org/Ticket/Display.html?id=63083 


On Wed Nov 17 12:28:26 2010, RSCHUPP wrote:
 strace also shows that you ran a.exe with LD_LIBRARY_PATH set
 in the environment. Can you rerun a.exe without it and see 
 if the problem goes away? 
No, it doesn't:

$ export LD_LIBRARY_PATH=
cs...@access:~
$ ./a.exe
Undefined subroutine DynaLoader::bootstrap called at
/usr/lib/perl5/x86_64-linux/XSLoader.pm line 105.
Compilation failed in require at
/usr/lib/perl5/x86_64-linux/IO/Handle.pm line 263.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/Handle.pm line 263.
Compilation failed in require at
/usr/lib/perl5/x86_64-linux/IO/Seekable.pm line 101.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/Seekable.pm line 101.
Compilation failed in require at /usr/lib/perl5/x86_64-linux/IO/File.pm
line 133.
BEGIN failed--compilation aborted at
/usr/lib/perl5/x86_64-linux/IO/File.pm line 133.
Compilation failed in require at -e line 351.

 Another thing to try: first remove PAR's cache area
 which according to strace was
 
 /home/users/cstef/tmp/par-cstef
 
 (you have TMPDIR=$HOME/tmp, right?)
Right.

 then run a.exe and look for a file also called a.exe in the

   readelf -d /home/users/cstef/tmp/par-cstef/cache-LONGSHA1DIGEST/a.exe

$ readelf -d
/home/users/cstef/tmp/par-cstef/cache-91983bfecf21472d244f6bf26116bc20ee4433d3/a.exe

Dynamic section at offset 0xc028 contains 22 entries:
  TagType Name/Value
 0x0001 (NEEDED) Shared library: [libperl.so.5.8]
 0x0001 (NEEDED) Shared library: [libpthread.so.0]
 0x0001 (NEEDED) Shared library: [libc.so.6]
 0x000c (INIT)   0x401dd0
 0x000d (FINI)   0x405b38
 0x6ef5 (GNU_HASH)   0x400240
 0x0005 (STRTAB) 0x400ea8
 0x0006 (SYMTAB) 0x4003e0
 0x000a (STRSZ)  1501 (bytes)
 0x000b (SYMENT) 24 (bytes)
 0x0015 (DEBUG)  0x0
 0x0003 (PLTGOT) 0x60c1e0
 0x0002 (PLTRELSZ)   1896 (bytes)
 0x0014 (PLTREL) RELA
 0x0017 (JMPREL) 0x401668
 0x0007 (RELA)   0x401620
 0x0008 (RELASZ) 72 (bytes)
 0x0009 (RELAENT)24 (bytes)
 0x6ffe (VERNEED)0x401570
 0x6fff (VERNEEDNUM) 3
 0x6ff0 (VERSYM) 0x401486
 0x (NULL)   0x0

 In the same directory there should also be a file matching libperl*so*
 -what is its name?
$ ls
/home/users/cstef/tmp/par-cstef/cache-91983bfecf21472d244f6bf26116bc20ee4433d3/libperl*
/home/users/cstef/tmp/par-cstef/cache-91983bfecf21472d244f6bf26116bc20ee4433d3/libperl.so.5.8.8