guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

SLIB and ice-9 slib module


From: Sebastian Tennant
Subject: SLIB and ice-9 slib module
Date: Wed, 19 Mar 2008 01:30:51 +0200
User-agent: Gnus/5.110007 (No Gnus v0.7) Emacs/22.1 (gnu/linux)

Hi all,

A Debian box with an apt-installed guile-1.8:

 /usr/share/guile/1.8

An apt-installed slib:

 /usr/share/slib

Created symlink:

 /usr/share/guile/1.8/slib -> /usr/share/slib

Set environment variables:

 export GUILE_IMPLEMENTATION_PATH="/usr/share/guile/1.8/"
 export SCHEME_LIBRARY_PATH="/usr/share/slib/" 

(also tried not setting SCHEME_LIBRARY_PATH, and setting it to
 /usr/share/guile/1.8/slib)

but I get this every time:

 guile> (use-modules (ice-9 slib))
 ERROR: Unbound variable: slib:features
 ABORT: (unbound-variable)

SLIB works fine with:

 $ slib guile

or

 $ guile -l /usr/share/slib/guile.init

Upon inspection, ice-9's documentation is wrong in saying:

 2. Define the `SCHEME_LIBRARY_PATH' environment variable:

          $ SCHEME_LIBRARY_PATH=/usr/local/lib/slib
          $ export SCHEME_LIBRARY_PATH

->   Alternatively, you can create a symlink in the Guile directory to
     SLIB, e.g.:

          ln -s /usr/local/lib/slib /usr/local/share/guile/1.8/slib

because the function slib-parent-dir (upon which slib's 'vicinities' are
based) searches the %load-path and uses substring, in which case only a
symlink will do.

 (define slib-parent-dir
   (let* ((path (%search-load-path "slib/require.scm")))
     (if path
         (substring path 0 (- (string-length path) 17))
         (error "Could not find slib/require.scm in " %load-path))))

Having said that, even with the symlink it still fails, so I give up.

Sebastian





reply via email to

[Prev in Thread] Current Thread [Next in Thread]