Re: gcc, specs, and rethinking the sidai -R thing

Jim Rowan <[email protected]> Mon, 28 Nov 2005 12:59:29 -0600
Newsgroups gmane.comp.sysutils.ark.devel
Message-ID <[email protected]>
This one slipped under my radar somehow -- just noticed it.

Will Partain wrote:

>Following on from some of Jim Rowan's recent experience (and mine),
>I'm rethinking some of the Sidai way of dealing with shared
>libraries...
>
>...
>  
>

> <>Now, there's another mechanism for this kind of thing, namely setting
> up ld.config (or equivalent). You tell the runtime linker "here are
> some places to look for shared libraries", and then it does the rest.
> So, for example, I did [on a Sun]...
>
> sudo crle -l /usr/lib:/our/.-ark-deploy/gcc--4.0.2/lib
> ... and my libgcc_s problems went away forever :-)
>
> Now, it's quite easy to play this ld.config game so that it's just as
> ill-disciplined as the "throw it all in /usr/local/include" game. But
> surely there is a way to gain most of the discipline of the "I'll tell
> you _exactly_ what I want" -R'ing scheme. Something like... each
> package providing libraries has a field...
>
> <ld-config-spec>
> <param name="prefix">!sidai_prefix</param>
> <string>$prefix/lib</string>
> </ld-config-spec>
>
> ... and some small program comes through and collects these, and sets
> ld.config appropriately.
>
> I haven't done all this yet, but am seriously considering it. Love to
> see all that -R stuff go up in smoke. Thoughts?


I'd love to see the -R stuff go away as well.  It is a major detractor.

However, your proposal causes the behavior of ark installed programs to 
be dependant on the configuration of the machine (OS) itself -- 
something that I don't believe was previously a requirement (beyond 
having the right stuff mounted/accessible).  This has at least two side 
effects:

1.) It means that these apps have no chance of running on a machine that 
isn't specially configured (unless they're run by a user that has 
LD_LIBRARY_PATH set appropriately).  I'm toying with the possibility of 
building "islands" of ark-ness in AFS, so that people at other places 
can see how cool it is with respect to building/managing apps.      I'd 
really like to build a set of apps that can be run from any box that has 
the appropriate OS, and by a user that does nothing more than adjust 
their PATH.

2.) It seems to preclude more than one run-time environment per 
machine.  A user that wants to run version abcde.alpha of something 
won't be able to (reliably) because the loader finds the wrong shared 
library. 

I don't think this sounds like our ideal solution.  :(

Jim



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click