     [file version.texi not included]

Welcome to the Source FTP site of SINGULAR
******************************************

SINGULAR is a Computer Algebra system for polynomial computations with special emphasize on the needs of commutative algebra, algebraic geometry, singularity theory and polynomial system solving. For a more detailed overview of SINGULAR, see

     http://www.singular.uni-kl.de/Overview/

So far, there are only version for Linux, HPUX, SunOS, IRIX, AIX, FreeBSD 4.2, MacOS X, MacOS 9, and Windows 95/98/ME/NT/2K/XP.

In this directory you find the following files:

COPYING
     license information for SINGULAR

Singular-VERSION-<package>.tar.gz
     SINGULAR distribution archive which contains the package <package>

omalloc.tar.gz
     SINGULAR distribution archives which contains the package omalloc

Compiling SINGULAR for a Unix platform
======================================

Make sure that you have approximately 120 MByte of free disk space and follow these steps.

 1. Make sure that you have the following software (the list may be incomplete):

      1. general unix utilities: grep, test, sed, cp, mv, gzip, uudecode, ...

      2. autoconf

      3. gnu-make

      4. gcc, g++ (version 2.7.2 preferred, but gcc version 2.6.3 to 2.95.3, egcs 1.0.3 and 1.1.2 should work, gcc 2.96 does not work)

      5. bison (version >= 1.2.2)

      6. flex (version >=2.4)

      7. perl (version >=5)

      8. library gmp (version 3.x.x)

      9. (optional) library libreadline

      10. (optional, required to build the documentation:) latex2html, tex, texi2html, texinfo

           (your latex2html should produce gif files, not png files)

 2. (optional, required for MP:)

     make sure that you can log in to your computer via rsh/remsh or ssh without a password (check .rhosts/.shosts); otherwise the configure script stops while checking this: if you cannot fix it, simply kill the rsh/ssh-processes - the configure will then disable this particulare feature

     The following is tested by configure

     rsh localhost uname

     ssh localhost uname

     rsh `hostname` uname

     ssh `hostname` uname

 3. You need to download all of the .tar.gz-files

 4. create a new working directory

 5. unpack all packages into that working directory

 6. (optional, for porting to a unknown machine:) fix ./singuname.sh not to report something unknown, but to recognize the machine

 7. run ./configure

     (try ./configure --help, ./omalloc/configure --help, ./MP/configure --help, ./factory/configure --help, ./Singular/configure --help for a list of all options of configure)

 8. make install (resp. gmake install - the make program must be GNU-Make) the make process will (hopefully) build:

      1. omalloc: the memry management routines (required)

      2. MP: Multi-Protocoll (optional)

      3. factory (optional, but strongly recommended)

      4. libfac (optional, but strongly recommended)

      5. Singular (Kernel, required)

      6. doc (only possible, if all optional packages are included)

      7. emacs (only possible, if doc was build)

      8. IntegerProgramming

      9. misc

 9. if you want to make any change in the directory Singular, run make depend there

 10. to install the resulting files at any other place in the system, run

           make bindist sharedist

     (sharedist can only be build if doc was build sucessfully) and install the resulting .tar.gz files as explained for the binary distribution

 11. if you compiled Singular for a non-standard architecture and you are willing to share your porting effort, upload the changed sources and the resulting binaries to ftp://www.mathematik.uni-kl.de/pub/Incoming and send us an email about it (Singular@mathematik.uni-kl.de)

 12. bug-fixes or other improvements to the source code are welcome

Notes for specific platforms
============================

  Windows (Cygwin):
     ./configure --with-malloc=system

  MacOS X:
     you need a file values.h where MP can find it (we copied one from Linux)

     ./configure --with-malloc=system

  DecAlpha/Linux:
     egcs-1.1.2 does not work, but gcc version 2.95.2 does

     ./configure --without-MP

  FreeBSD 4.2:
     you need a file values.h where MP can find it (we copied one from Linux)

     ./configure --with-malloc=system

Compiling SINGULAR for a Non-Unix platform
==========================================

This is a non-trivial task. Please contact us directly. (mailto:Singular@mathematik.uni-kl.de)

GOOD LUCK and ENJOY! Your SINGULAR team.