On 11/16/06, Philip Gwyn <[EMAIL PROTECTED]> wrote:
On 15-Nov-2006 Roderich Schupp wrote: > OK, given your experiment with LD_LIBRARY_PATH and LD_PRELOAD: > what does "readelf -d" (or the "Dynamic section" in the output of "objdump > -ax" > if you don't have readelf) say when run on the executable that is > unpacked into /tmp/par-dw/cache-XXXXX (_not_ on dw.exec itself)?
Dynamic section at offset 0xc014 contains 29 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libperl.so] ... 0x0000000f (RPATH) Library rpath: [/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE] perl -V on the FC3 computer gives me : ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE'
That seems to be the root of the problem: the special purpose perl executable that gets extracted into /tmp/par-USER/xxxx has this RPATH burned into it. But LD_LIBRARY_PATH should have worked... On the other hand, LD_LIBRARY_PATH is ignored when running a setuid executable. Is Selinux (or some other non-traditional security feature) active on the FC3 machine that may have disabled LD_LIBRARY_PATH? For an experiment, you could: (1) remove "-Wl,-rpath,/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE'" from ccdlflags (in Config_heavy.pl in your installation) (2) rebuild PAR with this setting (3) re-pp your script Cheers, Roderich
