Introduction to SLIB

The SLIB package is a portable library for the Scheme programming language. It provides a platform independent framework for using “packages” of Scheme procedures and syntax. Its catalog can be transparently extended to accommodate packages specific to a site, implementation, user or directory. SLIB provides compatibility and utility functions for all standard Scheme implementations including Bigloo, Chez, ELK 3.0, GAMBIT 3.0, Guile, JScheme, MacScheme, MITScheme, PLT Scheme (DrScheme and MzScheme), Pocket Scheme, RScheme, scheme->C, Scheme48, SCM, SCM Mac, scsh, Stk, T3.1, umb-scheme, and VSCM.

This package is known to build and work properly using an LFS-7.4 platform.

Package Information

SLIB Dependencies



User Notes:

Installation of SLIB

Install SLIB by issuing the following commands:

sed -i 's|usr/lib|usr/share|' RScheme.init                      &&
./configure --prefix=/usr --libdir=/usr/share                   &&

sed -i -e 's# scm$# guile#;s#ginstall-info#install-info#' \
       -e 's/no-split -o/no-split --force -o/' Makefile         &&

makeinfo -o slib.txt --plaintext --force slib.texi              &&
makeinfo -o slib.html --html --no-split --force slib.texi

This package does not come with a functional test suite.

Now, as the root user:

make install                                            &&
ln -v -sf ../slib /usr/share/guile                      &&
mkdir -pv /usr/share/guile/site/2.0                     &&
guile -c "(use-modules (ice-9 slib)) (require 'printf)" &&
install -v -m755 -d /usr/share/doc/slib-3b4             &&
install -v -m644 ANNOUNCE FAQ README slib.{txt,html} /usr/share/doc/slib-3b4

Command Explanations

sed -i 's|usr/lib|usr/share|' RScheme.init: This command is used to change the libdir variable embedded in the script to match the installation.

--libdir=/usr/share: This option puts the installed in files /usr/share/slib instead of /usr/lib/slib.

makeinfo ... --force ... : This command creates needed documentation, but needs the --force option to overcome warnings that are flagged as errors in recent versions of makeinfo.

ln -v -sf ../slib /usr/share/guile: This command puts a symbolic link to the slib files in Guile's default “Implementation Vicinity”.

guile -c "(use-modules (ice-9 slib)) (require 'printf)": This command creates a guile catalog of the slib files.


Installed Program: slib
Installed Libraries: a Scheme library system
Installed Directory: /usr/share/slib, /usr/share/guile/site/2.0, and /usr/share/doc/slib-3b4

Short Descriptions


is a shell script used to initialize SLIB in a named Scheme implementation. It can also be used to initialize an SLIB session using a given executable.

Last updated on 2013-09-05 09:23:52 -0700