Download and Installation

The OSCAR project initially encompasses a number of different software projects. Below are instructions to install the current parts of the OSCAR project. Please be aware that there is no single OSCAR system, nor a single OSCAR binary to use yet. For simplicity, we will nevertheless refer to OSCAR during the following instructions.

OSCAR is currently under heavy development, so all parts change continuously.

If you only intend to use OSCAR we recommend you install Docker on your machine and install the OSCAR Docker image, as this is intended to work everywhere.

If you are a developer, you will probably want to know how to install OSCAR yourself. For that purpose we give install instructions for various platforms below.


If you only wish to use AbstractAlgebra.jl, Hecke.jl and Nemo.jl, you can install a Julia binary from the Julia website and follow the instructions for adding the relevant packages, below.

However, if you want to make use of Singular.jl or Polymake.jl, OSCAR cannot run as a native binary. If you have Windows 10, you can use the Windows Subsystem for Linux instead.

Installing the Windows Subsystem for Linux (Windows 10)

You can now follow the instructions for Ubuntu 16.04 below.

To start bash in a later session, just search for “bash”.

Installation for Ubuntu 16.04

First set up a sane build environment. This manual is for bash. If you are not sure, start a bash by typing


Now update and install the necessary system packages.

apt-get update
apt-get install 4ti2 ant ant-optional autoconf autogen bliss build-essential bzip2 clang cmake curl debhelper default-jdk gfortran git graphviz language-pack-el-base language-pack-en libbliss-dev libboost-dev libboost-python-dev libcdd-dev libcdd0d libdatetime-perl libflint-dev libglpk-dev libgmp-dev libgmp10 libgmpxx4ldbl libjson-perl libmpfr-dev libncurses5-dev libnormaliz-dev libntl-dev libperl-dev libppl-dev libreadline6-dev libsvn-perl libterm-readkey-perl libterm-readline-gnu-perl libtool libxml-libxml-perl libxml-libxslt-perl libxml-perl libxml-writer-perl libxml2-dev libxslt-dev libzmq3-dev m4 make nano ninja-build patch pkg-config python-dev python3-pip sudo unzip vim wget xsltproc

Now install Julia:

tar xf julia-1.1.0-linux-x86_64.tar.gz

Now start Julia


Now install the relevant Julia packages:

using Pkg







Pkg.add(PackageSpec(url="", rev="master" ))

Pkg.add(PackageSpec(url="", rev="master" ))

Pkg.add(PackageSpec(url="", rev="master" ))

If you have your own copy of GAP installed, and compiled it against your Julia, you can tell the GAP.jl installation to use this GAP by setting the GAPROOT environment variable to the GAP directory.

If you have your own recent polymake installed, you can tell Polymake.jl to use it by setting the POLYMAKE_CONFIG environment variable to your polymake-config executable. If you do not have a recent polymake, do not worry. Polymake.jl will download it for you.

The whole process will take some time (> 1 hour). But if everything went well, you are good to go.

Note that the various packages are independent and you do not need to install them all.

Starting GAP with JuliaInterface

If you have the Julia module GAP.jl installed above, you can also use the packages in the OSCAR ecosystem from GAP.

You can start a GAP, linked to your downloaded Julia, via


In GAP, you can load the Julia interface via

LoadPackage( "JuliaInterface" );

Docker (On Linux/Windows/Mac OS)

The fastest way to get a fully working version of all software packages in the OSCAR project is using Docker. To install Docker on your system, follow the instructions on the Docker website.

Once you have Docker installed, you can run the OSCAR Docker image via the command

docker run -it oscarsystem/oscardocker:latest

Docker will then download the OSCAR Docker image for you (approx. 6GB), and start a new shell in a Docker container. You can then start julia.

To load GAP in Julia in the Docker container, execute the following commands in Julia


Jupyter in the Docker container

The Docker image comes fully equipped with the Julia Jupyter kernel. To start Jupyter from inside the container, start the Docker container with

docker run -it --net="host" oscarsystem/oscardocker:latest

In the container’s shell, execute

jupyter notebook --no-browser

You can then connect to Jupyter by opening in your systems browser. The password is oscar.

Install OSCAR using conda (Linux)

Installation of OSCAR via the conda package manager will be available soon.

Imprint Privacy policy © 2019 The OSCAR Group