Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Sebastian Tennant <sebyte <at> smolny.plus.com>
Subject: SLIB and ice-9 slib module
Newsgroups: gmane.lisp.guile.user
Date: Tuesday 18th March 2008 23:30:51 UTC (over 9 years ago)
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
 
CD: 3ms