Installation from sources in Cygwin32 - BrentBaccala/Singular GitHub Wiki

This page describes the installation of Singular from the latest sources from GitHub on Windows systems in the 32-bit version of Cygwin.

Use this if you want the latest release and cannot use binaries. Do not use this if you want to contribute to Singular.

This version of the instructions was tested on Windows 7 with Singular 4.

  1. Run setup-x86.exe and install (in addition to the standard selection) the following packages (you will be asked to resolve dependencies, answer yes):

    a. Tools used to download Singular and other packages:

    wget

    b. Tools necessary to compile Singular:

    gcc-core, gcc-g++, automake, make, libtool, libreadline7

    c. Scientific libraries used by Singular:

    libgmp-devel, libmpfr-devel, mpfr

  2. Download Singular:

    Create a directory for the Singular binaries we use here Singular4 in your home directory:

    • cd /home
    • mkdir Singular4

    Create a directory for the Singular sources and a temporary directory for third party libraries we use here /home/git/Singular4 and /home/tmp:

    • mkdir tmp
    • mkdir sources
    • cd sources
    • mkdir Singular4
    • cd Singular4

    Download Singular from the git repository:

    • wget ftp://www.mathematik.uni-kl.de/pub/Math/Singular/src/4-0-0/singular-4.0.0.tar.gz
    • tar xvfz singular-4.0.0.tar.gz

    Although you can now compile Singular, we strongly recommend to install some more scientific packages (otherwise some features will not be available).

  3. Install NTL:

    Download NTL:

    • mkdir ntl
    • cd ntl
    • wget http://www.shoup.net/ntl/ntl-6.0.0.tar.gz
    • tar -xvf ntl-6.0.0.tar.gz
    • cd ntl-6.0.0
    • cd src

    Compile NTL and install into the folder tmp in your home directory:

    • ./configure DEF_PREFIX=/home/tmp NTL_GMP_LIP=on
    • make
    • make install

    Return to the folder Singular4

    • cd ../../../
  4. Install CDDLIB:

    Download CDDLIB:

    • mkdir cddlib
    • cd cddlib
    • wget ftp://ftp.ifor.math.ethz.ch/pub/fukuda/cdd/cddlib-094g.tar.gz
    • tar -xvf cddlib-094g.tar.gz
    • cd cddlib-094g

    Compile cddlib and install into the folder tmp in your home directory:

    • ./configure --prefix=/home/tmp
    • make -j 2
    • make install

    Return to the folder Singular4:

    • cd ../../
  5. Install FLINT:

    Create a directory and download FLINT:

    • mkdir flint
    • cd flint
    • wget ftp://www.mathematik.uni-kl.de/pub/Math/Singular/src/4-0-0/flint-2.4-beta1.tar.gz
    • tar xvfz flint-2.4-beta1.tar.gz
    • cd flint-2.4

    Compile flint and install into the folder tmp in your home directory

    • ./configure --with-gmp=/usr --prefix=/home/tmp --disable-shared --with-mpfr=/usr
    • make -j 2
    • make install

    Return to the folder Singular4

    • cd ../../
  6. Download and install 4ti2 (used by some Singular commands for lattice computations):

    Create a directory and download 4ti2:

    • mkdir 4ti2
    • cd 4ti2
    • wget http://www.4ti2.de/version_1.6/4ti2-1.6.tar.gz
    • tar xvfz 4ti2-1.6.tar.gz
    • cd 4ti2-1.6

    Compile 4ti2:

    • ./configure
    • make
    • make install (requires root permissions, if you don't have ask your administrator to install 4ti2)

    Return to the folder Singular4:

    • cd ../../
  7. Compile Singular:

We specify the location of NTL, FLINT and the location to install the Singular binaries:

  • cd singular-4.0.0
  • ./configure --without-python --with-ntl=/home/tmp --with-flint=/home/tmp --prefix=/home/Singular4
  • make -j 2
  • make install
  1. Run the Singular binary (this should now be located in the folder Singular4 in your home directory):

    • cd /home
    • ./Singular4/bin/Singular
  2. If you want to use the plotting tools Surfer and Surf follow these instructions.