For a source installation you should follow the instructions in the order given below.


You need a c++ compiler to build polymake. We recommend to install apple's command line tools. The standalone version of the tools suffices, but you can also install the full XCode IDE form the app store (but be aware that this uses around 8GB of disk space, compared to ~300MB for the command line tools).

Note that polymake needs perl to execute. We recommend to use the system perl, not one of the versions that you can install via fink or similar. The system perl should be picked automatically if you have not installed another one or edited $PATH. In case you have several versions of perl you have to make sure that polymake always finds the same perl as was used for compilation, so either provide an absolute path during configuration, or make sure that the correct version comes first in the $PATH.

Mac OS 10.11 and later:




xcode-select --install

in a terminal to trigger installation of the command line tools (Click install in the window that opens).


You need the ninja build system: Go to the ninja page and download and extract the mac binary on your mac (e.g. create a directory $HOME/bin, extract the dmg in this directory and add $HOME/bin to your path)

Install Dependencies

You need to install the following Linux packages (Follow the installation instructions given with each of the packages.)

  • readline (version 6 or later)
  • gmp (version 5 or later). gmp needs to be configured with the –enable-cxx=yes option.
  • mpfr (version 3 or later)
  • boost (we only need the headers, so it suffices to unpack the archive, you can even delete most of the stuff, just keep include)
  • ppl (version 1.1 or later)

Compiling polymake

With these preparations you are ready to compile polymake. You can now get the release version from github. You need the following steps:

  • Call ./configure in the root folder of polymake You will have to pass several options to configure to tell it about the additional software you installed. The following list contains the standard ones. For version specific issues check below before calling configure. You might not need all of the options, if you have installed dependencies into their default location.
    • –with-gmp=/path/to/your/gmp: Specify the folder you installed gmp into.
    • –with-mpfr=/path/to/your/mpfr: Specify the folder you installed mpfr into.
    • –with-boost=/path/to/your/boost: Specify the folder you unpacked boost into
    • –with-readline=/path/to/your/readline: Specify the folder you installed readline into.
    • –with-ppl=/path/to/your/ppl: Specify the folder you installed ppl into.
    • –with-singular=/path/to/your/singular: Specify the folder you installed singular into. This is optional.
    • –without-java
  • Your command could now be similar to the following (still replace paths!):
    ./configure --with-boost=<path> --without-java --with-gmp=<path> --with-mpfr=<path> --with-readline=<path> --with-ppl=<path> --with-singular=<path> --prefix=<path-if-not-to-usr-local>
  • Once configuration has succeeded, do
    ninja -C build/Opt -j2 install

    in the terminal.

Note that you might need additional options if your setup differs from a standard one.

Running polymake

  • Calling polymake in a terminal should now start the interactive shell.
  • At the first start polymake will try to find some third-party software installed on your computer it knows how to communicate with. You can examine the list of unsuccessful attempts by calling the command show_unconfigured in the shell.
  • For an introduction on how to work with the shell see here. Enjoy.

Installation Script

For older versions we have prepared a Makefile that does a loacl installation of polymake resolving all dependencies. It is available from github. It might still work, or serve as inspiration.

  • install/macos/source.txt
  • Last modified: 2024/04/11 15:53
  • by paffenholz