Subject: re: patch to allow /etc/ configure directories for ELF
To: Jason Thorpe <>
From: matthew green <>
List: tech-userlevel
Date: 03/12/1999 17:53:10
   If you move a shared library, and want your programs to continue working,
   USE A BLOODY SYMLINK.  But don't break an otherwise working system just
   to make your life easier.

this does not work in all cases.

actual real scenario:

i do not want shared libraries "visible" to the user.  eg, they do not
reside in /usr/lib and thus new programs are not linked with them.  so
i hide them elsewhere and use to let existing dynamically
linked programs continue to work.  a symlink would not work.

as greg stated, your posted scenario fails with the presence of
LD_LIBRARY_PATH.  are you going to take that out too?  i mean, it's
really just a local version of -- semantically speaking.

why you call a "lame hack".

to answer charles' post:

some people don't like the idea of a cache at all.  i don't really
care either way (though i think it is really needed for a.out where
you have to search each directory for a number of files, rather
than just seeing if "" is there.)  however, the whole
point of the cache is so that you only need to 1 + N files to map
in N shared libraries at exec time.  multiple cache files will
result in more file opens which seems to be to partially defeat the
effect of a cache.

linux and freebsd both apparently retain ldconfig and the cache
functionality for ELF.  i personally don't think it is very useful
for ELF, but it would be interesting to see some performance figures
if someone actually implemented it.