[M3devel] ROOT, $ORIGIN, runpath, LD_LIBRARY_PATH, symlinks, hardlinks, etc.

Tony Hosking hosking at cs.purdue.edu
Fri Jul 3 19:44:34 CEST 2009


On 2 Jul 2009, at 16:23, Jay wrote:

>   (I just didn't like the link stuff and I still don't understand  
> what ROOT is there for).
>
> The point was to add Unix.link where it belongs, m3core, and use it  
> from where can't depend on new m3core.
>   And maybe go overboard in sharing the source, to a trivial one  
> line function (less trivial on Win32, in order to support pre- 
> Win2000 OS).
> The point was to put the files in lib and also leave them in pkg,  
> without wasting space.
> The decision now, which I still have to try, is to stop putting the  
> files in pkg, so then no hardlink needed.

Sounds good.

>  $origin vs. full paths is still debatable and I still convinced  
> $origin is the way to go.

I agree $origin is best way to go.

>  I'm also inclined to put $origin and $origin/../lib in rpath, so  
> backups can flatten the structure to just one directory:
>  /backup/cm3
>  /backup/libm3core.so
>  /backup/libm3.so

Fair enough.

>  in some /hypothetical future/ where cm3 is dynamically linked.
> As long there are no "duplicates" -- files in both bin and lib, the  
> runpath remains fairly clear/unambiguous.
> And even then, the order is pretty clearly left to right..

Not sure I understand.

>
>  - Jay
>
>
>
>
>
>
> CC: wagner at elegosoft.com; m3devel at elegosoft.com
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Subject: Re: [M3devel] ROOT, $ORIGIN, runpath, LD_LIBRARY_PATH,  
> symlinks, hardlinks, etc.
> Date: Thu, 2 Jul 2009 16:17:54 -0400
>
> On 2 Jul 2009, at 16:03, Jay wrote:
>
> Ok, so I think a very important question is:
>
>   >>> Should users have a choice of where to install?
>
> Yes!
>
>   >>> What are the reasonable ramifications of someone who makes a  
> non-default choice?
>
> /Personally/ I want the choice, esp. if I don't have root access!,  
> and I don't want to set LD_LIBRARY_PATH.
> I want my choice and no negative consequences, and $origin basically  
> gives me that.
> Except NetBSD prior to 5.0. 5.0 already released.
> And I guess Solaris prior to 2.7 or such.
>
>
> We do agree on a change vs. previous releases, at least.
> And it overlaps with what I did already.
>
> I think so.  (I just didn't like the link stuff and I still don't  
> understand what ROOT is there for).
>
>
>
>
>  - Jay
>
>
> CC: wagner at elegosoft.com; m3devel at elegosoft.com
> From: hosking at cs.purdue.edu
> To: jay.krell at cornell.edu
> Subject: Re: [M3devel] ROOT, $ORIGIN, runpath, LD_LIBRARY_PATH,  
> symlinks, hardlinks, etc.
> Date: Thu, 2 Jul 2009 15:59:25 -0400
>
> I agree, LD_LIBRARY_PATH should only be used by power-users in a  
> pinch during development.
>
> On 2 Jul 2009, at 14:56, Jay wrote:
> Here are some good links, other people trying to explain this stuff:
>
>

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


More information about the M3devel mailing list