Installing OSCAR 1.3.1

The latest stable release, OSCAR v1.3.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 with OSCAR, we recommend having at least 16GB of free memory.

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

# Specify the intended version of Julia.
julia_for_oscar=/users/oscar/julia-1.8.5/bin/julia

# Specify the intended location of the central Oscar installation.
central_depot=/users/oscar/JULIA_DEPOT

# We will store the necessary artifacts in the
# "architecture dependent location" in Julia's default DEPOT_PATH.
# First determine this path and create the directory if necessary.
# (Here we asume that `DEPOT_PATH[2]` is the architecture-specific
# shared system directory, as documented for the default value of
# `DEPOT_PATH`.)
system_depot=$(${julia_for_oscar} --startup-file=no -e 'println(DEPOT_PATH[2])')
mkdir -p "${system_depot}/artifacts"

# 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}:${system_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.
${julia_for_oscar} --project=@v#.#-oscar -e 'using Pkg, Artifacts; \
rm("'${central_depot}'/environments/v" * join(split(string(VERSION), ".")[1:2], ".") * "/Project.toml", force=true)
Artifacts.with_artifacts_directory("'${system_depot}'/artifacts") do; \
Pkg.add("Oscar"); \
Pkg.add("GAP"); \
Pkg.add("Nemo"); \
Pkg.add("Hecke"); \
Pkg.add("Singular"); \
Pkg.add("Polymake"); \
Pkg.add("AbstractAlgebra"); \
Pkg.instantiate(); \
end; \
exit();'
Call Julia such that the system-wide installation of Oscar gets loaded when the user enters using Oscar in the Julia session. Enter the following commands into a file (for example julia_with_oscar), adjust the paths for the variables julia_for_oscar and central_depot, and then run the script in a terminal (not with administrator rights).
#!/bin/bash

# Specify the intended version of Julia.
julia_for_oscar=/users/oscar/julia-1.8.5/bin/julia

# Specify the intended location of the central Oscar installation.
central_depot=/users/oscar/JULIA_DEPOT

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

# Call Julia.
${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 © 2018-2025 The OSCAR Team