Comment 15 for bug 163681

Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote : Re: [ikarus-users] Common 3rd party library location

Geoffrey,

Thanks for taking the time to maintain the ikarus package for Arch.

As for standard location for 3rd-party libraries, it seems that there
is not much agreement between different languages/implementations/
OSes. It's not clear to me what the right thing is.

The current situation is:

If IKARUS_LIBRARY_PATH is not set, Ikarus looks for libraries in
$pkglibdir (set during configure) and in the current directory.
Standard installation from source means: look in "." followed by "/
usr/local/lib/ikarus".
If IKARUS_LIBRARY_PATH is set to say "foo:bar", its elements are
added to the path yielding ".", "foo", "bar", "/usr/local/lib/
ikarus". This may not be documented properly and may not be the
right thing to do. See https://bugs.launchpad.net/ikarus/+bug/
163681 for more on this discussion (reopen the bug if needed).

So, why don't your 3rd-party libraries just go to the $pkglibdir
directly? That way, you don't have to mess with the library path at
all. The library path is meant to be set by the user to direct
ikarus to use libraries installed in nonstandard locations (home
directory, project directory, etc.). A system-wide standard location
should be specified by other mechanism (e.g., using configure), not
using the IKARUS_LIBRARY_PATH.

I don't know the reason for why perl/python have a site-perl/site-
python. How do the libraries in site-* differ from other libraries?

I also don't know what the debian convention is.

Aziz,,,

On Feb 16, 2008, at 2:30 AM, Geoffrey Teale wrote:

> Hi,
>
> Now that Ikarus is packaged for at least two Linux distributions I
> thought I might ask this question and see what the Debian guy
> (sorry forget his name) and the rest of you think.
>
> In order to support the packaging of third party libraries for
> Ikarus we need (presumably in the Ikarus package itself) to define
> a location for the third party libraries and to set the
> IKARUS_LIBRARY_PATH variable to point to this location. With that
> in mind the latest revision of my package for Arch Linux creates
> the directory:
>
> /usr/lib/ikarus/site-scheme
>
> .. and sets the IKARUS_LIBRARY_PATH in the global profile to:
>
> /usr/lib/ikarus:/usr/lib/ikarus/site-scheme
>
> I've followed the model used by GNU Emacs and Python (to name but
> two). So the questions are do people like that location (I'm open
> to better suggestions) and what is the Debian packager doing?
> Though we have an environment variable I think its nice for people
> using a language to be able to predict where their libraries are
> installed.
>
> --
> Geoff Teale
> <email address hidden>