6. Installation

The following sections describe which machines are supported by ECL, how to build and install it on them. You should read at least Section 6.1 and in particular Table 1 which details the other sections containing installation instructions for your platform.

6.1. Supported platforms

Table 1. Supported platforms

ArchitectureOperating systemToolchainTested[a]
x86 [b] LinuxAutoconfYES
x86_64[c]LinuxAutoconfYES
PPCLinuxAutoconfYES
ItaniumLinuxAutoconfYES
x86FreeBSDAutoconfYES
x86OpenBSDAutoconfYES
x86NetBSDAutoconfYES
x86Windows XP, Vista, 7Microsoft compilersYES
x86Windows XP, Vista, 7CygwinYES
x86Windows XP, Vista, 7Mingw and Msys toolsYES
x86OS X TigerAutoconfYES
x86_64OS X TigerAutoconfYES
x86SolarisAutoconfYES
x86_64SolarisAutoconfYES
SparcSolarisAutoconfYES

[a] YES means that a dedicated machine regularly builds and tests ECL on this platform.

[b] Intel 32 bit processors (Pentium, Pentium II, Pentium 3, Pentium 4) and AMD clones

[c] AMD and Intel processors with 64 bit extensions.


In Table 1 we show the operating systems in which ECL is known to run and where it is regularly tested. Note that ECL might successfully build on other platforms, and that porting is relatively easy. We regularly get reports on ECL being built on other platforms (ARM, Motorola 68x, Sparc, etc), so the best thing is to try yourself.

6.2. Autoconf based configuration

ECL, like many other free programs, can be built and installed a GNU tool called Autoconf. This is a set of automatically generated scripts that detect the features of your machine, such as the compiler type, existing libraries, desired installation path, and configures ECL accordingly. The following procedure describes how to build ECL using this procedure and it applies to all platforms except for the Windows ports.

  1. Unpack the tar file

    $ gunzip -c ecl-0.9i.tgz | tar xf -
  2. Choose a directory in which you will install ECL. Following the Unix covention we will use /usr/local

  3. Run the configuration file

    $ cd ecl-0.9i
         $ ./configure --prefix=/usr/local

    If you are building under Solaris 9 you should replace the last line with

    $ ./configure --enable-slow-config --with-system-gmp=no \
         --prefix=/usr/local

    By now you should have a directory with the name build and a bunch of makefiles inside it.

  4. Use GNU make to begin building ECL. Normally this amounts to invoking

    $ make

    from the command line.

  5. Install the program using

    $ make install

  6. Make sure the program is installed and ready to run

    $ /usr/local/ecl
         ECL (Embeddable Common-Lisp) 0.9i
         Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
         Copyright (C) 1993 Giuseppe Attardi
         Copyright (C) 2000 Juan J. Garcia-Ripoll
         ECL is free software, and you are welcome to redistribute it
         under certain conditions; see file 'Copyright' for details.
         Type :h for Help.  Broken at EVAL.
         > 

6.3. Platform specific instructions

6.3.1. Microsoft compilers

If you have a commercial version of Microsoft Visual Studio, the steps are simple:

  1. Change to the msvc directory.

  2. Run nmake to build ECL.

  3. Run nmake install prefix=d:\Software\ECL where the prefix is the directory where you want to install ECL.

  4. Optionally, if you want to build a self-installing executable, you can install NSIS and run nmake windows-nsi.

If you want to build ECL using the free Microsoft Visual Studio Express 2010 or better, you should follow these before building ECL as sketched before:

  1. Download and install Microsoft Visual Studio C++ Compiler.

  2. Download and install the Windows SDK

  3. Open the Windows SDK terminal, which will set up the appropriate paths and environment variables.

6.3.2. OpenBSD and NetBSD

Before following the instructions in Section 6.2 you should install the following packages: boehm-gc and gmp-4.1 or better. Another component, libffi will be needed if you want to use the dynamic foreign interface.