### 1.1 Unix Installation

We will use as an example the installation for GNU/Linux. The installation for other unix systems is similar. There are several references to ARCH below; these refer to the computer architecture that Scheme is compiled for: either ‘`i386`’ ‘`x86-64`’, ‘`aarch64`’, or ‘`svm1`’.

MIT/GNU Scheme is distributed as a compressed ‘tar’ file. The tar file contains both source and binary files; the binary files are pre-compiled Scheme code for a particular computer architecture. The source files are C programs that need to be compiled.

### Requirements

At a minimum, you will need a C compiler (e.g. ‘`gcc`’) and a ‘`make`’ program, and a “curses” library. For example, here are the packages that must be installed on some popular systems:

- Debian-like systems: `gcc` `make` `m4` `libncurses-dev`
- CentOS-like systems: `gcc` `make` `m4` `ncurses-devel`
- macOS systems: Command line developer tools ‘`xcode-select --install`’

Additionally, if you want support for X11 graphics, you’ll need:

- Debian-like systems: `libx11-dev`
- CentOS-like systems: `libX11-devel`
- macOS systems: `XQuartz` (from https://www.xquartz.org/)

### Steps

In order to install the software, it’s necessary to configure and compile the C code, then to install the combined C and Scheme binaries, with the following steps.

1. Unpack the tar file, `mit-scheme-VERSION-ARCH.tar.gz`, into the directory `mit-scheme-VERSION`. For example,

       tar xzf mit-scheme-VERSION-i386.tar.gz

   will create a new directory `mit-scheme-VERSION`.

2. Move into the `src` subdirectory of the new directory:

       cd mit-scheme-VERSION/src

3. Configure the software:

       ./configure

   By default, the software will be installed in `/usr/local`, in the subdirectories `bin` and `lib`. If you want it installed somewhere else, for example `/opt/mit-scheme`, pass the `--prefix` option to the configure script, as in `./configure --prefix=/opt/mit-scheme`.

   The configure script accepts all the normal arguments for such scripts, and additionally accepts some that are specific to MIT/GNU Scheme. To see all the possible arguments and their meanings, run the command `./configure --help`. However, do not specify the following options, which are all preconfigured to the right values; doing so will probably cause the build to fail:

       --enable-native-code
       --enable-host-scheme-test
       --enable-cross-compiling
       --with-compiler-target
       --with-default-target
       --with-scheme-build

4. Build the software:

       make

5. Install the software:

       make install

   Depending on configuration options and file-system permissions, you may need super-user privileges to do the installation steps.

6. Build the documentation:

       cd ../doc
       ./configure
       make

7. Install the documentation:

       make install-info install-html install-pdf

   Depending on configuration options and file-system permissions, you may need super-user privileges to do the installation step.

### Plugins

After you have installed Scheme you may want to install several plugins. Scheme no longer uses dynamically loaded microcode modules installed with Scheme. The micromodules have been converted into plugins: new subsystems that use the C/FFI to dynamically load the same code. Instead you configure, build, and install additional plugins after installing the core system.

By default, the following plugins are built and installed: `edwin`, `imail`, `x11`, and `x11-screen`. (The latter two only if X11 libraries are installed on your system.) To get all of the functionality previously available in version 9.2 you will need to build and install the remaining plugins included in the `src` subdirectory: `blowfish`, `gdbm`, and `pgsql`. These plugins are all configured, built, and installed in the GNU standard way. See the `README` file in each plugin’s source directory for complete details.

### Cleanup

After installing Scheme and your desired plugins, you can delete the source directory:

    cd ../..
    rm -rf mit-scheme-VERSION