GEE-Guile-GSL-install


GEE/Guile-GSL installation instructions

Guile-GSL is a C/Scheme library extension for Guile, the GNU's Ubiquitous Intelligent Language for Extensions. It implements a binding to the GNU Scientific Library (GSL).

This page describes in detail how to install on a GNU+Linux system Guile-GSL and the libraries currently (Feb 11, 2007) required to plot math function graphs.

Supposing that our system has installed a basic GNU+Linux system (a Bourne shell like GNU Bash, the common command line utilities like tar and gzip, the X Window System) the installation sequence is: GSL, Guile, Tcl, Tk, BLT, GEE base library, GEE/Guile-GSL, GEE/Guile-TCL.

GNU Scientific Library

The GSL sources are available from the GNU distribution site, http://gnu.org/software/gsl. Once we have downloaded the archive it in a temporary directory:

$ cd /tmp; mkdir gsl; cd gsl
$ wget http://ftp.gnu.org/gnu/gsl/gsl-1.8.tar.gz

we unpack it:

$ tar --extract --file=gsl-1.8.tar.gz --gzip --verbose
$ cd gsl-1.8

then run the configuration and build it:

$ ./configure --disable-static --enable-shared
$ make

we can optionally run the tests:

$ make check

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also install in a temporary directory:

$ (umask 0; make install DESTDIR=/tmp/gsl-bin)

take a look at it, then package the binary:

$ tar --directory=/tmp/gsl-bin --create --gzip \
    --file=/tmp/gsl-bin-1.8.tar.gz . 

switch profile to the superuser and install it:

$ tar --extract --gzip --file=/tmp/gsl-bin-1.8.tar.gz -v

Guile

The Guile sources are available from the GNU distribution site, http://gnu.org/software/guile. Once we have downloaded the archive it in a temporary directory:

$ cd /tmp; mkdir guile; cd guile
$ wget http://ftp.gnu.org/pub/gnu/guile/guile-1.8.1.tar.gz

we unpack it:

$ tar --extract --file=guile-1.8.1.tar.gz --gzip --verbose
$ cd guile-1.8.1

then run the configuration and build it:

$ ./configure --disable-static --enable-shared --with-threads
$ make

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also install in a temporary directory:

$ (umask 0; make install DESTDIR=/tmp/guile-bin)

take a look at it, then package the binary:

$ tar --directory=/tmp/guile-bin --create --gzip \
     --file=/tmp/guile-bin-1.8.1.tar.gz . 

switch profile to the superuser and install it:

$ tar --extract --gzip --file=/tmp/gsl-bin-1.8.tar.gz -v

Tcl, the Tool Command Language

The Tcl sources are available from SourceForge. Once we have created a temporary directory:

$ cd /tmp; mkdir tcl; cd tcl

we can download the archive in it, let's say it is tcl8.4.14-src.tar.gz. We unpack it:

$ tar --extract --file=tcl8.4.14-src.tar.gz --gzip --verbose
$ cd tcl8.4.14

then run the configuration and build it:

$ cd unix
$ ./configure --disable-static --enable-shared \
    --enable-man-symlinks --enable-man-compression --enable-man-suffix \
    --enable-threads
$ make

we can optionally run the tests:

$ make test

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also install in a temporary directory:

$ (umask 0; make install INSTALL_ROOT=/tmp/tcl-bin)

take a look at it, then package the binary:

$ tar --directory=/tmp/tcl-bin --create --gzip \
     --file=/tmp/tcl-bin-8.4.14.tar.gz . 

switch profile to the superuser and install it:

$ tar --extract --gzip --file=/tmp/tcl-bin-8.4.14.tar.gz -v

Tk, the GUI toolkit for Tcl

The Tk sources are available from SourceForge. Once we have created a temporary directory:

$ cd /tmp; mkdir tk; cd tk

we can download the archive in it, let's say it is

tk8.4.14-src.tar.gz. We unpack it:

$ tar --extract --file=tk8.4.14-src.tar.gz --gzip --verbose
$ cd tk8.4.14

then run the configuration and build it:

$ cd unix
$ ./configure --disable-static --enable-shared \
    --enable-man-symlinks --enable-man-compression --enable-man-suffix \
    --enable-threads
$ make

we can optionally run the tests:

$ make test

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also install in a temporary directory:

$ (umask 0; make install INSTALL_ROOT=/tmp/tk-bin)

take a look at it, then package the binary:

$ tar --directory=/tmp/tk-bin --create --gzip \
     --file=/tmp/tk-bin-8.4.14.tar.gz . 

switch profile to the superuser and install it:

$ tar --extract --gzip --file=/tmp/tk-bin-8.4.14.tar.gz -v

BLT, a Tcl/Tk extension

The original BLT sources are available from SourceForge. Once we have created a temporary directory:

$ cd /tmp; mkdir blt; cd blt

we can download the archive in it, let's say it is BLT2.4z.tar.gz; we need also to download two patches blt2.4z-patch-1 and blt2.4z-patch-2. Alternatively we can download an already patched version from the download area of GEE, it should be blt2.4z-patched.tar.bz2.

We unpack the BLT archive:

$ tar --extract --file=blt2.4z-patched.tar.bz2 --bzip2 --verbose
$ cd blt2.4z

then run the configuration and build it:

$ ./configure --disable-static --enable-shared
$ make

The install to switch profile to the superuser and to do:

$ (umask 0; make install)

Unfortunately BLT does not support the DESTDIR variable neither the INSTALL_ROOT variable; to install into a temporary directory we have to mess with the prefix variable in the Makefile.

GEE

The GEE sources can be downloaded from the GNA! site. Once we have downloaded the archive it in a temporary directory:

$ cd /tmp; mkdir gee; cd gsl
$ wget http://download.gna.org/gee/gee--alpha--0.3--patch-488.tar.bz2

we unpack it:

$ tar --extract --file=gee--alpha--0.3--patch-488.tar.bz2 --bzip2 --verbose
$ cd gee--alpha--0.3

GEE base library

First we have to install the base library:

$ cd lib
$ mkdir "=build"
$ cd "=build"
$ ./configure --disable-static --enable-shared
$ make

we can optionally run the tests:

$ make test

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also build a temporary installation archive:

$ make bindist

take a look at the archive, which is named something like guile-gee_0.2.0_bin.tar.gz, then switch profile to the superuser and install it:

$ tar --extract --gzip --file=guile-gee_0.2.0_bin.tar.gz -v

GEE/Guile-GSL

To install the GSL binding, from the top of the GEE's source directory:

$ cd gsl
$ mkdir "=build"
$ cd "=build"
$ ./configure --disable-static --enable-shared
$ make

we can optionally run the tests:

$ make test

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also build a temporary installation archive:

$ make bindist

take a look at the archive, which is named something like guile-gsl_0.1.0_bin.tar.gz, then switch profile to the superuser and install it:

$ tar --extract --gzip --file=guile-gsl_0.1.0_bin.tar.gz -v

GEE/Guile-TCL

To install the Tcl binding, from the top of the GEE's source directory:

$ cd tcl
$ mkdir "=build"
$ cd "=build"
$ ./configure --disable-static --enable-shared
$ make

we can optionally run the tests:

$ make test

The basic installation procedure dictates to switch profile to the superuser and to do:

$ (umask 0; make install)

but we can also build a temporary installation archive:

$ make bindist

take a look at the archive, which is named something like guile-tcl_0.1.0_bin.tar.gz, then switch profile to the superuser and install it:

$ tar --extract --gzip --file=guile-gee_0.1.0_bin.tar.gz -v

category-gee