OSCAR Symbolic Tools

Installing OSCAR 1.7.1


The latest stable release, OSCAR v1.7.1, is officially supported on Windows, macOS, and Linux (Debian, Ubuntu, Fedora). If you are using a different operating system, we do not provide support and cannot guarantee compatibility. However, if you still wish to try installing OSCAR, you will need:

WARNING: The installation process of OSCAR, particularly the precompilation step, requires at least 6GB of free memory. For optimal performance, we recommend having at least 16GB of RAM.

Advanced Installation Instructions

It is possible to install OSCAR and its cornerstones only once on your system, and to let several people use this installation. For that, the following bash scripts can be used.

Install OSCAR system-wide, or update the system-wide installation of OSCAR when a new version is available. Enter the following commands into a file (for example oscar_systemwide_install), adjust the paths for the variables julia_for_oscar and central_depot, and then run the script in a terminal (with administrator rights).
#!/bin/bash

set -e

# Specify the intended version of Julia.
julia_for_oscar=/usr/local/bin/julia

# Specify the intended location of the central OSCAR installation.
central_depot=/opt/oscar/depot

# Set the Julia variables that control the location of packages.
# (Do not admit the current user's own depot path.)
export JULIA_DEPOT_PATH=${central_depot}:

# Clean the environment, such that the already centrally installed packages
# get replaced by newer versions if necessary.
# (This is safer than calling `Pkg.update()` in Julia.)
# Then let Julia install and precompile the packages.
# You can customize the list below to install additional Julia packages for all users.

${julia_for_oscar} \
    --project=@v#.#-oscar \
    --startup-file=no \
    -e 'using Pkg;
        rm("'${central_depot}'/environments/v$(VERSION.major).$(VERSION.minor)/Project.toml", force=true)
        Pkg.update()
        Pkg.add("Oscar")
        Pkg.add("Hecke")
        Pkg.add("GAP")
        Pkg.add("Singular")
        Pkg.add("Polymake")
        Pkg.add("Nemo")
        Pkg.add("AbstractAlgebra")
        Pkg.instantiate()
        exit()
        '
Call Julia such that the system-wide installation of OSCAR gets loaded when the user enters oscar in their terminal. Enter the following commands into a file (for example oscar), adjust the paths for the variables julia_for_oscar and central_depot, and then put that file into a directory on your `PATH`. Make sure it is executable (invoke `chmod` as needed)
#!/bin/sh

set -e

# Specify the intended version of Julia.
julia_for_oscar=/usr/local/bin/julia

# Specify the intended location of the central OSCAR installation.
central_depot=/opt/oscar/depot

# Admit the path with the central installation.
export JULIA_DEPOT_PATH=:${central_depot}
export JULIA_LOAD_PATH=":@v#.#-oscar"

#
echo "+------------------------------------------------+"
echo "| To complete loading OSCAR, enter 'using Oscar' |"
echo "| into the following julia> prompt.              |"
echo "|                                                |"
echo "| You can also only load GAP, Nemo, Hecke, etc.  |"
echo "+------------------------------------------------+"

# Call Julia.
exec ${julia_for_oscar} "$@"
WARNING: Users of such a system-wide installation may run into Julia errors if they have already installed some dependencies of OSCAR in their ~/.julia/packages, or if they add them later on.
Edit this page Contact Imprint Privacy policy Supported by SFB-TRR 195 © 2018-2026 The OSCAR Team