I have recently introduced checking all our *.so files on Linux in the
comprehensive test script using "ldd -r".  Those results immediately
reminded me we had not yet done anything about setting rpath in both
the build tree and possibly (if USE_RPATH is ON) install tree for
dllplplot_stubs.so, the shared object generated by our build system
for the OCaml binding.

So to experiment with methods of fixing this I tried all the different
ways that are documented for the ocamlmklib command (i.e.,

-dllpath <dir>
-R<dir>
-Wl,-rpath,<dir>
-Wl,-rpath -Wl,<dir>
-Wl,-R<dir>

to set rpath, and the good news is all those methods gave consistent
results, but the bad news is those consistent results did not (!) set
rpath at all as shown by

objdump -x dllplplot_stubs.so |grep -i rpath

and

ldd -r

and even diffs between results with and without one of the above
options being set.

This complete lack of rpath results was generated by

ocamlmklib, version 4.01.0

on Debian Jessie.

Three years ago, Orion was the victim on Fedora of a cutting-edge
ocamlmklib bug where rpath was being set to nonsensical values for
dllplplot_stubs.so when none of the above options were being set. That
is a different issue which I assume the ocaml developers have fixed
now, although from the above results it is possible their fix was to
deliberately disable setting rpath.

I don't feel exactly comfortable with changing our build system
without some way of testing the result locally.  Furthermore, there is
also the possibility that the ocaml developers deliberately disabled
setting rpath.  Finally, the above linking issue for
dllplplot_stubs.so doesn't seem to affect our current OCaml tests any.
So my decision for now is I will not change our build system in
anticipation that one of the above rpath setting methods _might_ work
some day.  But if someone finds a system where one of the above
methods work, please let me know, and I might reconsider.

Note this current deficiency of our current build system should not
show up in any lintian reports for packagers like Andrew and Orion
since they set USE_RPATH to OFF (i.e., they prefer no rpath set in the
install tree for dllplplot_stubs.so which is the case now regardless
of USE_RPATH value).

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to