Compile on Linux fr en 

Before working on Rolisteam

Please discuss with us. We can share the effort to make new features and your work will fulfill Rolisteam needs and goals. Please take a look at our roadmap

Get Source code

The way to get source code changes given your objectives.

I want to compile stable version

To get the source, just download the zip archive

Appropriate when compiling for your own computer.

I want to take part in Rolisteam development

The way allows you to change Rolisteam and to share your changes easily.


Rolisteam manages its source code with Git. So, first learn how to use it and install it. Git Learn Git

The rest of the documentation git commands are given as command line but there are many GUI application to manage git repository.


Github is a platform which stores rolisteam’s git repository.

Those following steps are not mandatory but it definitely speeds up integration. To explain it a bit, those steps create a copy of Rolisteam and its dependencies into your github account. Then, it allows you to do whatever you want. To share your work, just make a pull request (github is a good friend for that).

  • Create your github account
  • Go to Rolisteam organisation page
  • Fork rolisteam the wanted project and its dependencies.
    • Rolisteam project is the source code of Rolisteam and Roliserver. It needs DiceParser, RCharacterSheet, RPlugins and common
    • RCSE project is the charactersheet editor. Its needs RCharacterSheet.
    • Dice brings together all tools to roll dice.
  • Then those git repositories should appear in your github account:
  • For Rolisteam and rcse, it is better to change the file .gitmodules before clone the repository:
    [submodule “client/diceparser”]
        path = client/diceparser
        url =
        pushURL =
    [submodule “client/widgets/gmtoolbox”]
        path = client/widgets/gmtoolbox
        url =
        pushURL =
    [submodule “client/charactersheet”]
        path = client/charactersheet
        url =
        pushURL =
    [submodule “client/common”]
        path = client/common
        url =
        pushURL =

Change every Rolisteam by your github username.
This file describes where git should retrieve dependencies (submodules). We make sure it retrieves them from your github account. Make this only if you plan to work on dependencies too.

  • For Rcse makes the same operation. The .gitmodules file is shorter than Rolisteam one.
  • Install git on windows or github desktop
  • Clone rolisteam: > git clone –recursive

Congrats, the Rolisteam source code is on your computer.

I have a github account but I don’t want to fork so many repositories

Then, just clone the project from the main repository > git clone –recursive

The source code comes on your computer. You won’t be able to integrate your work in Rolisteam, until we give you permission to do so. To do it, we have to accept you in Rolisteam organization. Give us your github username.

Of course, you can send us patch. But it’s less pratical this way.

I don’t want to create github account

Then, just clone the project from the main repository > git clone –recursive



The first thing is to install Qt (v5.10 or higher).
Get Community version of Qt:

At the Qt installation, please select Qt package compatible with your compiler. If you don’t have any. Select mingw version. Qt will install mingw on your computer.

On windows, please use visual studio 2015 to compile. As it is painful to install it, Rolisteam may still be compiled with other compiler but some features will not be working.

On debian/ubuntu system: sudo apt-get install qt5-default qtbase5-dev-tools qt5-qmake libqt5network5 zlib1g-dev build-essential git qtmultimedia5-dev libqt5core5a libqt5gui5 qttools5-dev-tools qtdeclarative5-dev qtwebengine5-dev

Disable Features

These 4 features can be switched off:

############## FEATURES ######################
############## END OF FEATURES ######################

It makes Rolisteam easier to compile. If you disabled HAVE_WEBVIEW, you must disable HAVE_PDF as well.


Rolisteam needs zlib to save its notes editor as OpenDocument (.odt) In an extreme case, remove the need of Zlib . Edit rolisteam/client/ and comment out:



Webengine is a Qt component. It is dedicated to display web page. Rolisteam may uses it inside some charactersheets. Qt on windows provides it only in the visual studio 2015.

In an extreme case, remove the need of webengine . Edit rolisteam/client/ and comment out: CONFIG += HAVE_WEBVIEW


Rolisteam comes with audio players. These player required QtMultimedia module and its backend.

Edit rolisteam/client/ and comment out: CONFIG += HAVE_SOUND


Rolisteam (since 1.9) embedded a web browser. This feature requires QtWebEngine which is a very heavy module (~80Mo). Webview is also used for viewing pdf, in order to compile rolisteam without webview, you must also disable the PDF feature. Edit rolisteam/client/ and comment out: CONFIG += HAVE_WEBVIEW CONFIG += HAVE_PDF


Rolisteam (since 1.9) can display PDF. If you don’t want this feature: Edit rolisteam/client/ and comment out: CONFIG += HAVE_PDF

Compiling Roliserver Only

  • This will be usefull if you plan on a seting up a dedicated roliserver.
  • The following code is compatible with the latest versions of Debian and Raspian.
  • We assume you’ve followed the docs on getting the source code past this point.

Install dependencies

sudo apt-get install qt5-qmake libqt5network5 libqt5core5a

Create a build directory

$ mkdir server/build
$ cd server/build


$ qmake -r ../
$ make
$ sudo make install

If you’re a dev and want to compile with the debug enabled, change the first line from the commands listed above:

$ qmake -r ../ CONFIG+=debug

For information on how to run the server checkout the documentation


I’m getting error like this: RCC: Error in ‘rolisteam.qrc’: Cannot find file ‘translation/rolisteam_fr.qm’

rolisteam_fr.qm is a binary translation file. It’s generated from rolisteam_fr.ts. Run this command: lrelease translation/rolisteam_fr.ts

or run linguist (Qt translator tool) and release translations. Then the compilation must be just fine.

Some files are not found by the compiler

Perhaps, you forgot the –recursive parameter when getting the source code.