#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 13. Programming

- Prev

  Running a Git Server

- Next

  LLVM-19.1.7

- Up
- Home

# Guile-3.0.10

## Introduction to Guile

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

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

### Package Information

- Download (HTTP): https://ftp.gnu.org/gnu/guile/guile-3.0.10.tar.xz

- Download MD5 sum: 375f8a423a23d229552512113aa4a954

- Download size: 5.5 MB

- Estimated disk space required: 184 MB (add 4 MB for tests)

- Estimated build time: 4.5 SBU (Using parallelism=4; add 0.3 SBU for tests)

### Guile Dependencies

#### Required

GC-8.2.8 and libunistring-1.3

#### Optional

Emacs-30.1 and GDB-16.2 (run-time only dependencies).

## Installation of Guile

Install Guile by running the following commands:

    ./configure --prefix=/usr    \
                --disable-static \
                --docdir=/usr/share/doc/guile-3.0.10 &&
    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.10/{guile.html,ref} &&
    mv /usr/share/doc/guile-3.0.10/r5rs{.html,}     &&

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

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

## Command Explanations

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

## Contents

Installed Programs: guild, guile, guile-config, guile-snarf and guile-tools
Installed Libraries: libguile-3.0.so and guile-readline.so
Installed Directories: /usr/include/guile, /usr/lib/guile, /usr/share/doc/guile-3.0.10 and /usr/share/guile

### Short Descriptions

guile | is a stand-alone Scheme interpreter for Guile
guile-config | is a Guile script which provides the information necessary to link your programs against the Guile library, in much the same way PkgConfig does
guile-snarf | is a script to parse declarations in your C code for Scheme visible C functions
guild | 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
guile-tools | is a symlink to guild

- Prev

  Running a Git Server

- Next

  LLVM-19.1.7

- Up
- Home