Build from source

chbmeyer edited this page Oct 15, 2017 · 3 revisions

Installing OpenBoard

It is recommended to install OpenBoard using the installers provided on the Downloads page.

However, if you would rather install it from source, please refer to the instructions below. Some general pointers are provided, as well as platform-specific guides.

Building from source: general instructions

The third party libraries, from the OpenBoard-ThirdParty repository, must be built first. The README file in this repository provides detailed instructions on how to do so.

Note that if you try to compile them with QtCreator, the default build directory proposed by QtCreator is outside the source directory. But OpenBoard expects to find the binaries in LIB_DIR/build, so make sure to set the build directory accordingly.

OpenBoard can then be compiled with qmake, either in QtCreator or on the command line like so:

qmake OpenBoard.pro -spec=macx-clang
make

(Replace macx-clang with linux-g++ or win32, depening on your platform.)

Platform-specific instructions

Windows

There are several points to take into account when developing on Windows. As the code was developed for the MSVC compiler, and tested to work with msvc2010, make sure to install the corresponding Qt version. Visual Studio C++ 2010 is also required.

The third-party libraries (xpdf, freetype and quazip) must be built in the same mode (release or debug) as the main OpenBoard application -- MSVC doesn't like linking a 'release' build with a 'debug' one.

GNU/Linux

Ubuntu 16.04

Below is a step-by-step guide to build OpenBoard from source. This was tested on a fresh install of Ubuntu 16.04.2.

  1. Install dependencies

    sudo apt-get install git qt5-default libqt5svg5-dev libqt5webkit5-dev libqt5xmlpatterns5-dev qtscript5-dev libssl-dev libpaper-dev libmotif-dev qtmultimedia5-dev qttools5-dev
    
  2. Clone all three OpenBoard repositories

    git clone https://github.com/OpenBoard-Org/OpenBoard.git
    git clone https://github.com/OpenBoard-Org/OpenBoard-Importer.git
    git clone https://github.com/OpenBoard-Org/OpenBoard-ThirdParty.git
    
  3. Build the Third-Party libraries

    cd OpenBoard-ThirdParty/freetype
    qmake freetype.pro -spec linux-g++
    make
    
    cd ../quazip
    qmake quazip.pro -spec linux-g++
    make
    cd ../xpdf/xpdf-3.04
    ./configure --with-freetype2-library="../../freetype/lib/linux" --with-freetype2-includes="../../freetype/freetype-2.6.1/include"
    cd ..
    qmake xpdf.pro -spec linux-g++
    make
    
  4. Build the Open-Sankoré document importer (optional)

    cd ../OpenBoard-Importer
    qmake OpenBoardImporter.pro -spec linux-g++
    make
    
  5. Build OpenBoard

    cd ../OpenBoard
    qmake OpenBoard.pro -spec linux-g++-64
    make    
    

Done! The executable can be found in build/linux/release/product/OpenBoard

Debian 9 Stretch

Building OpenBoard for Debian Stretch is similar to Ubuntu. Some packages have different names and Debian ships libssl 1.1 as default instaed of libssl 1.0 that is in Ubuntu. Issue https://github.com/OpenBoard-org/OpenBoard/issues/94 contains hints how to build OpenBoard for Debian Stretch.

Other distributions / versions

Ubuntu 14.04: Qt 5.5 Ubuntu PPA

OpenBoard requires Qt5.5 built against gstreamer 1.0. It is recommended to use the packages provided at the beineri PPA (see below), or to compile Qt from source with the flag -gstreamer 1.0

Building without this flag, at least as of Qt 5.5.1, will make it impossible to play media files. This is due to two Qt libraries (multimedia and webkit) being built against two different versions of gstreamer, resulting in run-time conflicts.

Qt 5.5 can be installed from the beineri PPA on Ubuntu 14.04:

sudo add-apt-repository ppa:beineri/opt-qt551-trusty
sudo apt-get update
sudo apt-get install qt-latest
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.