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.

Package Information

Additional Downloads

SLIB Dependencies

There are no build dependencies as this package is nothing but many text script files which are copied to the system. If you are installing this package to support a GnuCash installation, you should ensure that Guile-1.8.2 is installed so the SLIB catalog for Guile can be created.

User Notes:

Installation of SLIB

Install SLIB by issuing the following commands:

patch -Np1 -i ../slib-3a4-guile_fixes-1.patch &&
sed -i 's|usr/lib|usr/share|' {RScheme,guile}.init

If you have teTeX-3.0 installed and wish to build PDF, Postscript, HTML or text documentation, issue any or all of the following commands:

texi2pdf  slib.texi           &&
texi2html slib.texi           &&
texi2dvi  slib.texi           &&
dvips    -o  slib.dvi &&
makeinfo -o slib.txt --plaintext slib.texi

This package does not come with a functional test suite.

Now, as the root user:

make prefix=/usr/ \
     libdir=/usr/share/ \
     mandir=/usr/share/man/ \
     infodir=/usr/share/info/ \
  install installinfo &&

install -v -m755 -d                  /usr/share/doc/slib-3a4 &&
install -v -m644 ANNOUNCE FAQ README /usr/share/doc/slib-3a4

If you have Guile-1.8.2 installed, create the following symbolic link as the root user to satisfy Guile's default “Implementation Vicinity” directory.

ln -v -s ../slib /usr/share/guile

If you built any of the documentation, install it using the following command as the root user:

install -v -m644 slib.{pdf,html,dvi,ps,txt,texi} \

Command Explanations

sed -i 's|usr/lib|usr/share|' {RScheme,guile}.init: This command is used to change the libdir variable embedded in the two scripts to match the installation variable.

make ... install installinfo: This command installs the package and the info documentation into the indicated directories.

Configuring SLIB

For many of the Scheme implementations, an SLIB Scheme implementation catalog must be created. If you have Guile-1.8.2 installed to support a GnuCash installation, you must create a catalog. You can use the make catalogs command, but there will be many warnings and confusing messages as it tries to create a catalog for many of the possible Scheme implementations which are probably not installed on the system. To create a single catalog just for the Guile installation, issue the following command as the root user:

guile -l guile.init \
      -c "(use-modules (ice-9 slib)) (require 'new-catalog)"

If there was no output from the previous command, and the file /usr/share/guile/slibcat now exists, the catalog was properly created.


Installed Program: slib
Installed Libraries: a Scheme library system
Installed Directory: /usr/share/slib and /usr/share/doc/slib-3a4

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 2008-03-12 08:08:51 -0500