[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: (dynamic-link) ignores PREFIX/lib and $LD_LIBRARY_PATH
From: |
Thien-Thi Nguyen |
Subject: |
Re: (dynamic-link) ignores PREFIX/lib and $LD_LIBRARY_PATH |
Date: |
Tue, 18 Jun 2002 11:01:12 -0700 |
From: address@hidden (Paul Jarc)
Date: Tue, 18 Jun 2002 12:02:21 -0400
I have guile 1.4.1 installed in an unusual place, so PREFIX/lib isn't
in the usual search path for shared libraries. It seems guile should
always search PREFIX/lib, preferably before the systemwide directories
and after those listed in $LD_LIBRARY_PATH. (Actually, it should
search all the -rpath directories that the binary was linked with,
which should (and does) include PREFIX/lib.)
When I evaluate (use-modules (ice-9 readline)), guile search only /lib
when looking for libguilereadline.so (not even /usr/lib). If I set
$LD_LIBRARY_PATH to include PREFIX/lib, then guile looks there first
and finds it, but keeps looking anyway and still fails:
access("/package/host/localhost/guile-1.4.1-1/lib/libguilereadline.so",
R_OK) = 0
access("/lib/libguilereadline.so", R_OK) = -1 ENOENT (No such file or
directory)
open("/lib/libguilereadline.so", O_RDONLY) = -1 ENOENT (No such file or
directory)
yeah, 1.4.1 tries to follow the nascent conventions cobbled together in
1.6.x and HEAD, which require these kinds of env var weirdness. the fix
is to install libguilereadline et al "internally" (under $pkglibdir) and
reference them directly.
personally, i use as ~/bin/guile for now (until 1.4.2 release):
#!/bin/bash
# (prefix is /tmp/a/b/c)
export LD_LIBRARY_PATH=/tmp/a/b/c/lib:$LD_LIBRARY_PATH
export PATH=/tmp/a/b/c/bin:$PATH
exec guile "$@"
could you post platform info?
thi