Skip to content

Linux Developer Setup

Julian Harbarth edited this page Dec 15, 2022 · 2 revisions

SORO-S Setup (Ubuntu 20.04)

If this setup does not work for you check out the unix.yml or windows.yml file for the github actions. There should always be a configuration for a successful build.

Newer versions of Ubuntu or other distributions might not need to excute all steps, since some packages might already be included.

Tools:

  • Git
  • CMake >= 3.19
  • GCC >= 11
  • Clang >= 14
  • Ninja

Steps:

Install either clang or GCC or both.

Installing Clang

Add Repositories and signing key.

wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-15 main" | sudo tee -a /etc/apt/sources.list
sudo apt update

Install clang and additional tooling.

sudo apt install clang-15 lldb-15 lld-15 clangd-15 clang-tidy-15 clang-format-15 clang-tools-15 llvm-15-dev llvm-15-tools libomp-15-dev libc++-15-dev libc++abi-15-dev libclang-common-15-dev libclang-15-dev libclang-cpp15-dev libunwind-15-dev

Installing GCC

Add Toolchains Repo.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test && sudo apt update

Install GCC.

sudo apt install g++-11

Installing remaining tools

First add the kitware repository for the latest cmake version. To do this add the kitware signing key.

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null

Then add the kitware repository itself.

sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'

Then install the remaining tools.

sudo apt install git cmake ninja-build

Cloning the SORO-S repository

Clone the repository.

git clone git@github.com:motis-project/soro-s.git

Building the tests

Invoke cmake with the 'clang-release' preset for a build with clang ..

cd soro-s && cmake --preset clang-release

.. or 'gcc-release' for a build with gcc.

cd soro-s && cmake --preset gcc-release

Navigate to the build directory and build the tests for a clang build ..

cd build/clang-release && ninja

.. or a gcc build.

cd build/gcc-release && ninja

Test & Run.

./soro-test

Webinterface

To use the webinterface locally you need to do the following:

Building the web interface

Build the webinterface by invoking the following in a build directory.

ninja soro-server

Start the soro-server.

./soro-server --resource_dir ../../resources

You can access the interface now on localhost:8080.