Introduction to Guile

The Guile package contains the GNU Project's extension language library. Guile also contains a stand alone Scheme interpreter.



Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.

Package Information

Guile Dependencies


GC-8.0.6 and libunistring-1.0


Emacs-28.1 and GDB-12.1 (run-time only dependencies).

User Notes:

Installation of Guile

Install Guile by running the following commands:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/guile-3.0.8 &&
make      &&
make html &&

makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi &&
makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi

To test the results, issue: ./check-guile. On an i686 system, as many as 10 tests will fail in the numbers.test test suite due to minor floating-point rounding errors.

Now, as the root user:

make install      &&
make install-html &&

mkdir -p                       /usr/share/gdb/auto-load/usr/lib &&
mv /usr/lib/libguile-*-gdb.scm /usr/share/gdb/auto-load/usr/lib &&
mv /usr/share/doc/guile-3.0.8/{guile.html,ref} &&
mv /usr/share/doc/guile-3.0.8/r5rs{.html,}     &&

find examples -name "Makefile*" -delete         &&
cp -vR examples   /usr/share/doc/guile-3.0.8   &&

for DIRNAME in r5rs ref; do
  install -v -m644  doc/${DIRNAME}/*.txt \
done &&

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.


Installed Programs: guild, guile, guile-config, guile-snarf and guile-tools
Installed Libraries: and
Installed Directories: /usr/include/guile, /usr/lib/guile, /usr/share/doc/guile-3.0.8 and /usr/share/guile

Short Descriptions


is a stand-alone Scheme interpreter for Guile


is a Guile script which provides the information necessary to link your programs against the Guile library, in much the same way PkgConfig does


is a script to parse declarations in your C code for Scheme visible C functions


is a wrapper program installed along with guile, which knows where a particular module is installed and calls it, passing its arguments to the program


is a symlink to guild