Skip to content

Latest commit

 

History

History
125 lines (92 loc) · 3.82 KB

INSTALL.org

File metadata and controls

125 lines (92 loc) · 3.82 KB

This explains how to build and install Flint from source.

If you would just like to install Flint via official binary installers

The only prerequisite is Gnuplot 5.0 or later https://www.gnuplot.info/.

You do not have to read the following details; the installer for your platform does everything to set up Flint.

Instructions for supported OSes

Here we focus on building Flint on Linux, which has a wide variety of distributions. Please look into another document PORTABILITY.org if you would like to try building Flint on an unsupported OS.

Prerequisites

There are several development tools needed for building Flint. You can satisfy the prerequisites by installing their packages as follows.

RHEL/CentOS 7

The default g++ package is too old to build Flint. A workaround for the issue is to use the one provided by devtoolset-8. Find instructions to install and use it in https://www.softwarecollections.org/en/scls/rhscl/devtoolset-8/.

Then, install necessary tools for building and installing Flint with:

$ sudo yum install libtool cmake wget gtk3-devel \
    sqlite-devel libmicrohttpd-devel libuuid-devel \
    libxml2-devel patch zlib-devel gnuplot

Do not forget enabling devtoolset-8 when running the make command:

$ scl enable devtoolset-8 bash

RHEL/CentOS 8

Prerequisites for building Flint:

$ sudo dnf install gcc gcc-c++ autoconf automake libtool cmake make wget \
    sqlite-devel libmicrohttpd-devel libuuid-devel libxml2-devel gtk3-devel \
    patch zlib-devel gnuplot

Note that, for installing libmicrohttpd-devel with dnf, you may have to enable an optional repository called CoreReady Linux Builder or PowerTools. On RHEL 8:

$ sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-*-rpms"

On CentOS 8:

$ sudo dnf config-manager --set-enabled PowerTools

Debian buster/bullseye/sid

We do not have a Debian package (.deb) for Flint yet. Before building Flint, you will want to install prerequisite Debian packages as follows:

$ sudo aptitude install gcc g++ autoconf automake libtool cmake \
    pkgconf libgtk-3-dev libsqlite3-dev libxml2-dev patch zlib1g-dev gnuplot

Fedora 32

Use dnf(8) to install required packages for building Flint:

$ sudo dnf install gcc gcc-c++ autoconf automake libtool cmake make wget \
    sqlite-devel libuuid-devel libxml2-devel gtk3-devel patch zlib-devel \
    gnuplot

Ubuntu 20.04 LTS (Focal Fossa)

$ sudo apt install g++ autoconf automake libtool cmake make libgtk-3-dev \
    libsqlite3-dev libxml2-dev uuid-dev patch zlib1g-dev gnuplot

Ubuntu 18.04 LTS (Bionic Beaver)

$ sudo apt install g++ autoconf automake libtool cmake make libgtk-3-dev \
    libsqlite3-dev libxml2-dev uuid-dev patch zlib1g-dev gnuplot

Building Flint

Running make at directory source/posix in a shell will automatically download and install dependency libraries, and then build/install Flint’s binary programs in source/posix/opt/sequential-version/bin by default.

$ make -C source/posix
$ ./source/posix/opt/sequential-version/bin/flint # to run the Flint program

If you rebuild Flint in the above way again, then first delete previous artifacts:

$ make -C source/posix clean

Testing Flint

Once building Flint, it is recommended to run automated tests to see if the program works as expected. Launch the following command:

$ make -C source/posix check

About custom installation

Additional documentation, for e.g. customizing the installation location, can be found in source/posix/README.