[M3devel] runpath/unshipped vs. shipped binaries

Jay jay.krell at cornell.edu
Wed Apr 8 03:03:06 CEST 2009


Relinking upon install I still think provides desired results and
is not a terrible idea, but it is more work to implement.
I think the perf is probably acceptable.

 


I don't like to expose too many options to uninformed users, but
making this an option might be good. It will have an acceptable default,
which makes it being an option much less bad.


 

It's not just one option.
There is: 
 1) using the local machine's install point -- /usr/local/cm3/lib, 
 2) vs. using $ORIGIN/../lib. 
   Not available on all systems.
 3) vs. using package store paths 
 4) vs. using source tree paths 

 


and they can be combined, in various orders.


 

Plus Darwin is different, though maybe Darwin 10.5 is the same.
(certainly not pre-10.5 though).

 

 

I also still think this is related to "buildlocal" vs. " buildship".
In fact that is already partly accounted for.

 


I think I didn't understand the full state of things.

 


[I think] You were always getting big runpaths.
[I think] They were either to installed libraries or uninstalled libraries.

  If they were to uinstalled binaries, you could not ship -- buildlocal.
[I think] Now we are moving toward always small runpaths, always pointing to installed libraries. This is dubious for buildlocal.

 


[I think] Buildlocal should probably retain its old behavior -- big runpaths, into
the source tree. Or maybe a list of paths, source tree followed by install tree.
So user might build some of his own shared libraries, but not necessarily all.

 


I should set that -Wl,-R thing based on local vs. global.
I didn't look into how to detect that.

 


More later.

 

 

Yes, this is a more general question of how to find dependant shared libraries.

I don't think anyone has solved it all that well, nor do I believe we will, but there are still some better and worse options.

 


 - Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20090408/abcaa187/attachment-0002.html>


More information about the M3devel mailing list