problem with perl 5.8 on 4.9-PRERELEASE
Anton Berezin
tobez at FreeBSD.org
Thu Dec 11 10:51:10 PST 2003
On Thu, Dec 11, 2003 at 09:54:27AM -0800, Tony Jones wrote:
> LD_LIBRARY_PATH is in the environment in all cases (=/usr/lib).
>
> Anyone got any ideas. It's probably something obvious but it isn't dawning
> on me. Yes, I have rebooted post installing perl. This is all 4.9 FreeBSD.
It is very very wrong to have LD_LIBRARY_PATH defined in the
environment, doubly so for such paths as /usr/lib, which is in ldconfig
hints _anyway_.
FreeBSD's behavior does not correspond to ld(1) manual page - in reality
LD_LIBRARY_PATH takes precedence to everything, including -rpath (see
the manpage for details). The manpage should be fixed, obviously, but
the current FreeBSD behavior is nevertheless correct, for otherwise it
would not be possible to upgrade a software package when it's .so API
changes even slightly. LD_LIBRARY_PATH is there just for this reason -
to knowlingly override whatever other means of locating shared libraries
there are. It should not be used for setting system-wide defaults,
which is a job for ldconfig(8).
You might want to look at
http://www.freebsd.org/cgi/query-pr.cgi?pr=59186 (same situation as
yours) and http://www.freebsd.org/cgi/query-pr.cgi?pr=28191 (why
rtld-els behavior was changed).
Hope this helps,
\Anton.
--
Civilization is a fractal patchwork of old and new and dangerously new.
-- Vernor Vinge
More information about the freebsd-questions
mailing list