Building

The software is tested using GitHub Actions continuous integration. See .github/workflows/main.yml for more information.

Windows

Building the core library requires Visual Studio 2012 through 2019, Boost 1.72.0, and CMake. Follow the instructions on the Boost website to build Boost. Alternatively, Boost can be built using the vcpkg utility.

Ubuntu Focal, Jammy, and Noble

Install the dependencies:

apt-get install default-jdk default-jdk-headless default-jre default-jre-headless zlib1g zlib1g-dev libssl-dev libusb-1.0-0 libusb-1.0-0-dev libdbus-1-3 libdbus-1-dev libbluetooth3 libbluetooth-dev zlib1g zlib1g-dev git cmake g++ make libboost-all-dev autoconf automake libtool bison libpcre3-dev python3-dev python3-numpy python3-setuptools python3-wheel mono-devel

To build:

mkdir build && cd build
cmake -DBUILD_GEN=ON -DBUILD_TEST=ON -DBoost_USE_STATIC_LIBS=OFF ..
make

Ubuntu Bionic

Install the dependencies:

apt-get install default-jdk default-jdk-headless default-jre default-jre-headless python2.7-dev libpython2.7-dev zlib1g zlib1g-dev libssl-dev libusb-1.0-0 libusb-1.0-0-dev libdbus-1-3 libdbus-1-dev libbluetooth3 libbluetooth-dev zlib1g zlib1g-dev python-numpy python-setuptools python-wheel git cmake g++ make libboost-all-dev autoconf automake libtool bison libpcre3-dev python3-dev python3-numpy python3-setuptools python3-wheel mono-devel

To build:

mkdir build && cd build
cmake -DBUILD_GEN=ON -DBUILD_TEST=ON -DBoost_USE_STATIC_LIBS=OFF ..
make

Mac OSX

Robot Raconteur requires XCode, CMake, Boost Libraries, and OpenSSL.

Use homebrew to install boost and openssl:

brew install boost
brew install openssl

Note that homebrew does not create symlinks, so the CMake OPENSSL_ROOT_DIR must be set to the cellar folder.

Configure build for XCode using CMake GUI. Open resulting project file and build.

Swig

Python, Java, and C# use SWIG to generate language bindings. Robot Raconteur currently requires SWIG version 4.0.2 or higher. Windows can download from http://swig.org, or install from chocolatey using

choco install swig

Mac OSX can install using

brew install swig

Ubuntu must build SWIG from source. See https://github.com/swig/swig/wiki/Getting-Started for instructions.

MATLAB Mex

MATLAB install required for build. CMake FindMatlab module is used to locate the MATLAB build dependencies. Be sure to build the MEX file against static boost libraries. Linux will require Boost to be built from source with “-fPIC” C++ gcc option. The apt repository static libraries cannot be used because they were not built with “-fPIC”.

iOS

See https://github.com/robotraconteur/robotraconteur/wiki/iOS

Android

See https://github.com/robotraconteur/robotraconteur/wiki/Android