Home Download


Install Singular 4-x-x on a Linux/Unix platform (Generic Installation)

Downloading SINGULAR Archives

To install Singular on a Unix (inluding Linux and Mac Os X) platform, you need the following archiv:

  • Singular-x-x-x-architecture.tar.gz (system dependent)

where you have to replace the following:

Please contact us if you cannot find an archive appropriate for your architecture.

Installing SINGULAR

Make sure that you have approximately 12MByte of free disk space and follow these steps:


  1. Change to the directory where you wish to install Singular, for example:

cd /usr/local
  1. (this requires superuser privileges), or


mkdir install; cd install
  1. (requires no superuser privileges).

    Singular specific subdirectories will be created in such a way that multiple versions and multiple architecture dependent files of Singular can peaceably coexist under the same /usr/local tree.

  2. Unpack the archiv:


gzip -dc path-to-your-download-folder/Singular-x-x-x-architecture.tar.gz | tar -pxf -
  1. (Do not forget to replace the string architecture as above.)

    For the executable to work, the directory layout must look pretty much like this; the executable looks for "sibling" directories at run-time to figure out where its Singular libraries and on-line documentation files are. These constraints on the local directory layout are necessary to avoid having to hard-code pathnames into the executables, or require that environment variables be set before running the executable. In particular, you must not move or copy the Singular executables to another place, but use soft-links instead.

The following steps are optional:


  • Arrange that typing Singular at the shell prompt starts up the installed Singular executable.

    If you have superuser privileges, do:

    ln -s `pwd`path-to-your-installation-folder/bin/Singular /usr/local/bin/Singular-x-x-x

    ln -s `pwd`path-to-your-installation-folder/bin/ESingular /usr/local/bin/ESingular-x-x-x

    ln -s /usr/local/bin/Singular-x-x-x /usr/local/bin/Singular

    ln -s /usr/local/bin/ESingular-x-x-x /usr/local/bin/ESingular
    Otherwise, append the directory `pwd`path-to-your-installation-folder/bin/ to your $PATH environment variable. For the csh (or, tcsh) shell do:

    set path=(`pwd`path-to-your-installation-folder/bin $path)
    For the bash (or, ksh) shell do:

    export PATH=`pwd`path-to-your-installation-folder/bin/:$PATH

    You might also want to adjust your personal start-up files (~/.cshrc for csh, ~/.tcshrc for tcsh, or ~/.profile for bash) accordingly, so that the $PATH variable is set automatically each time you login.

    IMPORTANT: Do never move or copy the file bin/Singular to another place, but use soft-links instead.

  • If you want to use any of following features of Singular, make sure that the respective programs are installed on your system:

    Feature Requires
    running ESingular, or Singular within Emacs Emacs version 20 or higher, or, XEmacs version 20.3 or higher (ESingular is only included in the Linux distribution, on other Unix platforms you can download the Singular emacs lisp files but we give no warranties for specific platforms).
    on-line info help info, or tkinfo texinfo browser programs
    TAB completion and history mechanism of ASCII-terminal interface shared readline library, i.e. /usr/lib/libreadline.so
    visualization of curves and surfaces surf version 0.9 or higher (only available for Linux and Solaris).
    Most of these programs can be downloaded from ftp://jim.mathematik.uni-kl.de/pub/Math/Singular/utils/.A mirror is at
  • Customize the on-line help system:

    By default, on-line help is displayed in the first available help browser defined in share/singular/LIB/help.cnf.

    This behavior can be customized in several ways using the Singular commands system("--browser",) and system("--allow-net", 1) (or, by starting up Singular with the respective command line options).

    In particular, creating the file share/singular/LIB/.singularrc and putting the Singular command system("--allow-net", 1); in it, allows the on-line help system to fetch its html pages from Singular's web site in case its local html pages are not found.

    We refer to the online manual for more details on customizing the on-line help system.

  • Assure that the Singular manual can be accessed from stand-alone texinfo browser programs such as info or Emacs:

    Add the line

    * Singular:(singular.hlp). A system for polynomial computations
    to your system-wide dir file (usually /usr/info/dir or /usr/local/info/dir and copy or soft-link the file share/singular/info/singular.hlp to the directory of your dir file.
    This is not necessary for the use of the help system from within Singular.



  • General: Singular can not find its libraries or on-line help

    1. Make sure that you have read and/or execute permission the files and directories of the Singular distribution. If in doubt, cd to the directory where you unpacked Singular, and do (as root, if necessary):
      chmod -R a+rX .
    2. Start up Singular, and issue the command system("Singular");. If this does not return the correct and expanded location of the Singular executable, then you found a bug in Singular, which we ask you to report (see below).
    3. Check whether the directories containing the libraries and on-line help files can be found by Singular: If $bindir denotes the directory where the Singular executable resides, then Singular looks for library files as follows:
      (0) the current directory
      (1) all dirs of the environment variable SINGULARPATH
      (2) $bindir/../share/singular/LIB
      The on-line info files need to be at $bindir/../share/singular/info and the html pages at $bindir/../share/singular/html.

    You can inspect the found library and info/html directories by starting up Singular with the --version option, or by issuing the Singular command system("--version"); .


  • For any other troubles:

    Please send an email to singular@mathematik.uni-kl.de and include the header which is displayed by starting up Singular with the -v option, and a description of your machine (issue the command uname -a on your shell) in your report.