Hello,

I had to deploy a new installation, and bumped into this problem again.  I
discovered I'd read read your instructions wrong.  What I had done is remove
the -Wl,-rpath stuff from Config.pm,  ran "pp -o test test.pl", moved
libperl.so out of the way on the server.  And it worked.

But with the new installation, I was still getting an error!  Curse.  I reread
your letter and finaly noticed that you say "rebuild pp".  Woops!  I tried
doing that, but now the PAR build is failing :

./par: error while loading shared
libraries: libperl.so: cannot open shared object file: No such file or directory

Obviously, because the libperl.so is hidden in
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/CORE, so ld can't find it.  I
suspect that -rpath-link is what is needed.

But I gave up on that route, and tried to find out why LD_LIBRARY_PATH was
failing.  Groveling through strace output, which I should have done back then.

The problem was that I was using the --tempcache param to pp (I submitted a
patch for this a while back.  I don't think it was accepted) which allows me to
control what the cache directory is called (the hash part, not the PAR_TMPDIR
part).  And the directory name I was using contained ':' $(shell date
+"%Y%m%d-%T") and the : was being used as a list seperator.  Change the %T to
%h%M%S and everything works perfectly.

So, this is a bug/misfeature of ldd, not PAR.

-Philip


Reply via email to