Quick installation:

FriCAS now tries to support standard GNU build/installation 
conventions.  So if you have sources and all prerequisities
just:

configure && make && make install

should work. The above will install FriCAS files in
/usr/local/lib/fricas directory and put fricas command in
/usr/local/bin directory, you can give arguments to configure
to change those locations.

NOTE!! If you use svn (minimal version) the above will install broken
HyperDoc pages -- all graphic examples will be missing (and trying to access
them will crash hypertex).

The get working graphic examples login into X and replace 'make' above by
the following:

make
cd src/paste
make gphts
cd ../..
make

Important: building graphic examples accesses the X server, so it will
not work on text console.  During build drawings will temporarly
appear on the screen.  Redirecting X via ssh should work fine,
but may be slow.

It is also possible to use xvfb-run program, replacing 'make gphts'
above by:

xvfb-run --server-args="-screen 0 1024x768x24" --auto-servernum -n 0 make gphts


--------------------------------------------------------

Prerequisities:

- Lisp, one of:
    * GCL, 2.6.7 or prerelease 2.6.8 
    * sbcl, 1.0.7 or later
    * clisp, 2.41 or later
    * Closure CL (former openmcl), starting from openmcl 1.1 prerelase
    070512
    * ECL, 0.9j or later
  GCL currently is best tested, but on some platforms there are known
  build problems.  All Lisp impementations should give essentially
  the same functionality.  Gcl sources are included in full+gcl distribution
  tarball.

- noweb literate programing tool (http://www.eecs.harvard.edu/~nr/noweb/).
  Noweb sources are included in full distribution tarball.
  
- X libraries and headers (includig Xpm library).

  On debian (or Ubuntu) you probably need: libx11-dev, libxt-dev, libice-dev,
  libsm-dev, libxau-dev, libxdmcp-dev, libxpm-dev.

- Extra libraries needed by gcl.  If you use Debian gcl you probably
  need libreadline5-dev, libncurses5-dev, libgmp3-dev, libxmu-dev and
  libxaw7-dev.

Known problems:

- On Gentoo system installed gcl probably will not work, one need to
  build own one.

- Older version of gcl are incompatible with Fedora "exec-shield" and
  strong address space randomization (setting randomize_va_space to 2).
  Newest CVS version of 2.6.8 branch of gcl fixes this problem.

- gcl needs bfd library.  Many Linux systems include version of bfd
  library which is incompatible with gcl.  Using the following configure
  line should fix this problem:

    ./configure --disable-xgcl --disable-dynsysbfd --disable-statsysbfd --enable-locbfd

- Boehm garbage collector included in ECL (version 6.8) is incompatible
  with Fedora strong address space randomization (setting randomize_va_space
  to 2).  Using newer version of Boehm garbage collector (7.0 or 7.1)
  should solve this problem.

- ECL 0.9j has serious performance problems.  ECL version 0.9l is much
  faster.

- ECL up to version 0.9l may segfault at exit.  This is usually harmless,
  but may cause build to hang (for example when generating ug13.pht).  Using
  CVS version should fix this problem.
  
- In general, any error when generating documentation will cause build to hang.

- Closure CL earlier than release 1.2 (former Openmcl) has a bug in Lisp
  printer.  This bug causes incorrect printing of FriCAS types.  Also,
  Closure CL earlier than release 1.2 has bug in compex
  cosine function.  Those bugs are fixed in release 1.2.  If you want to
  use earlier version you can work around the bugs applying
  the 'contib/omcl.diff' patch and recompiling the compiler (see the patch
  or Closure CL documentation for instructions).


--------------------------------------------------------

Getting Lisp.

To build FriCAS you need to install Lisp first.  You need
_one_ of the following:

- sbcl

  http://sbcl.sourceforge.net/platform-table.html

- Closure CL

  http://ccl.clozure.com/manual/chapter2.2.html#id357702
  ftp://ftp.clozure.com/pub/release/1.2

- ECL

  http://ecls.sourceforge.net

- gcl, older versions have various problems, CVS version is
  better.  To get latest stable version from CVS use the
  following command

  cvs -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/gcl co -r Version_2_6_8pre -d gcl-2.6.8pre gcl

  In case of build problems try the following configure line

  ./configure --disable-xgcl --disable-dynsysbfd --disable-statsysbfd --enable-locbfd 

- clisp

  http://clisp.cons.org


--------------------------------------------------------

Step by step instructions for first time users:

Latest (developement) version of FriCAS is available only
via svn, so you need svn client (see http://subversion.tigris.org/).

You also need Lisp -- see links in section "Getting Lisp" and
follow instructions.

0) Change to a directory with enough (1.2 GB) free space

1) Fetch sources:

svn co https://fricas.svn.sourceforge.net/svnroot/fricas/trunk fricas

2) Fetch nonstandard prerequisities:

cd fricas

mkdir zips

cd zips
wget https://axiom.svn.sourceforge.net/svnroot/axiom/trunk/axiom/zips/noweb-2.10a.tgz

2a) Go back to first directory
cd ../..

3) Create build directory and change to it:

mkdir ax-build
cd ax-build

4) Configure.  Assuming that you want fricas files to be installed in
/tmp/usr

../fricas/configure --with-lisp=/path/to/your/lisp --prefix=/tmp/usr

where /path/to/your/lisp is name of your Lisp (for example sbcl)

5) Build and install:

make
make install

If you want graphic examples read the note before.

--------------------------------------------------------

Extra information about installation:

The preferred way to build FriCAS is to use already installed
Lisp and noweb.  Also, it is preferable to use a separate build
directory.  Assuming that source tree is in fricas subdirectory,
you build in ax-build subdirectory and your Lisp is called sbcl
the following should just work:

cd ax-build
../fricas/configure --with-lisp=sbcl && make && make install

Alternatively, if you use gcl you can just put gcl sources as a
subdirectory (called gcl) of fricas directory -- in this case the build
process should automatically build gcl and later use the freshly
build gcl.

Currently --with-lisp option accepts all supported lisp variants, namely
sbcl, clisp, ecl, gcl and Closure CL (openmcl).  Build machinery
must know which Lisp variant is in use. gcl, sbcl, clisp and ecl
can be autodetected, for Closure CL (openmcl) one has to give an
extra argument --with-lisp-flavor=openmcl (you can also specify
flavor for other Lisps, but this argument is required only for
Closure CL (openmcl)).

