> What I don't see here that IS in your's is the RPATH.  I think that *should*
> be ok.

Yes. In fact, the RPATH in my sample shouldn't be there. I know where
it came from - my $Config{ccdlflags}. It's there to pick up the shared libperl
(typically called libperl*.so) from its installed path. But we pack libperl into
the packed executable and want this copy to be used, not anything picked up
from the system where the executable runs.

> I would expect that in the PAR::Packer case, just like anything else, ld.so
> is going to look for a few embedded clues (e.g. RPATH) and use those paths
> first, then it'll start looking at "system" paths, including LD_LIBRARY_PATH
> settings.

The problem may be in the fine print. E.g. there's a subtle difference
between RPATH and RUNPATH. Maybe there's interference by some
security framework? E.g. on newer (i.e. ELF-based) HPUX, an
executable has to be specially marked so that LD_LIBRARY_PATH
will be considered at all.

> If I'm missing something from your explanation or if there's something odd
> in my example, please let me know.

Nope, I'm as puzzled as you.

Cheers, Roderich

Reply via email to