Skip to content

Installation from GitHub on Fedora

jankoboehm edited this page Dec 10, 2013 · 22 revisions

This page describes the installation of Singular from the latest sources from GitHub on Fedory based systems.

Use this if you need a feature introduced after the last release or if you want to develop for Singular.

This version of the instructions was tested on Fedora 19 for Singular 4.

  1. Install the necessary packages:

(requires root privileges, if you do not have root access, ask your administator to install these packages)

a. Version control system Git used to download Singular: * sudo yum install git

b. Tools necessary to compile Singular: * sudo yum install gcc * sudo yum install gcc-c++ * sudo yum install autoconf * sudo yum install autogen * sudo yum install libtool * sudo yum install readline-devel

c. Scientific libraries used by Singular: * sudo yum install gmp-devel * sudo yum install mpfr-devel * sudo yum install cddlib-devel * sudo yum install ntl-devel

d. Third party math software called by Singular: * sudo yum install graphviz (visualization of graphs) * sudo yum install 4ti2 (Markov bases, graver bases, ... for toric ideals)

  1. Clone Singular from the git repository:

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

    • cd
    • mkdir Singular4

    Create a directory for the Singular sources, we use here git/Singular4 in your home directory:

    • mkdir tmp
    • mkdir git
    • cd git
    • mkdir Singular4
    • cd Singular4

    Download Singular from the git repository:

    • git clone https://github.com/Singular/Sources.git

    If you want to update to the latest version in the future use git pull and do step 4 (compiling Singular) again.

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

  2. Download and build Flint:

Create a directory and download Flint:

  • mkdir flint
  • cd flint
  • git clone git://github.com/wbhart/flint2.git flint2
  • cd flint2

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 ../../
  1. 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
    • sudo make install (requires root permissions, if you don't have ask your administrator to install 4ti2)

    Return to the folder Singular4:

    • cd ../../
  2. Compile Singular:

    We specify the location of Flint (tmp in your home directory) and the location to install the Singular binaries (Singular4 in your home directory).

    We also build the gfanlib extension for convex polyhedral computations. To load this extension in Singular, do LIB "gfanlib.so";:

    • cd Sources
    • ./autogen.sh
    • ./configure --with-flint=$HOME/tmp --enable-gfanlib --prefix=$HOME/Singular4
    • make -j 2
    • make install
  3. Run the Singular binary:

    This should be located in the folder Singular4 in your home directory.

    • cd
    • ./Singular4/bin/Singular
  4. If you want to create an RPM package to distribute Singular follow these [instructions](Creating a Singular Fedora package).

Clone this wiki locally