This explains how to build and install Flint from source.
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.
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.
There are several development tools needed for building Flint. You can satisfy the prerequisites by installing their packages as follows.
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
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
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
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
$ sudo apt install g++ autoconf automake libtool cmake make libgtk-3-dev \
libsqlite3-dev libxml2-dev uuid-dev patch zlib1g-dev gnuplot
$ sudo apt install g++ autoconf automake libtool cmake make libgtk-3-dev \
libsqlite3-dev libxml2-dev uuid-dev patch zlib1g-dev gnuplot
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
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
Additional documentation, for e.g. customizing the installation location, can be
found in source/posix/README
.