On Thu, 2002-05-30 at 12:01, McCaffity, Ray (Contractor) wrote:
> Usually most users will have a .profile or .login or
> .bashrc, .kshrc, .cshrc etc... just add this to your env variables.
> LD_LIBRARY_PATH=/path/to/wherever:/usr/local/lib:/usr/local/pgsql/lib ...
> and so on ...
Well, this "works" in the sense that if all your users get the values
right it will DTRT. However, it's my experience that requiring manual
setting of LD_LIBRARY_PATH is a recipe for generating a million bug
reports like "the application crashed and I don't know why".
Often there are multiple versions of particular libraries laying around
on the system, especially common-but-not-standard things like the
postgres libraries, and doubly especially on multiuser systems in
semi-public places like universities, which can have dozens of different
publically accessible lib directories. Many times, slightly
incompatible versions of the libraries won't have their version numbers
bumped properly, or won't be configure-tested properly, and you can end
up with a very surprising selection of libraries from all over the
system linked in to your app. Sometimes they'll work together ... other
times not.
It's the application's problem to make sure the correct libraries get
linked at runtime, IMO; the knowledgeable user should be able to
override the app defaults, but the default should be to work in a way
that at least is predictable.
b.g.