Building Robot Raconteur on unsupported Linux distributions - robotraconteur/robotraconteur GitHub Wiki

Currently Robot Raconteur binaries and build instructions are provided for Ubuntu Xenial and Ubuntu Bionic through the PPA. While these are the most commonly used Linux distributions, there are times that other distributions need to be used. These instructions will provide a brief overview of how to build Robot Raconteur for C++ and Python 2.7 on unsupported distributions. The /home/user directory is assumed to be your home directory.

Begin by installing dependencies. This list has been tested in Ubuntu Trusty. If you are using a different distribution, you will need to find these various packages in your distributions package manager.

sudo apt install apt-get install python2.7-dev libpython2.7-dev libssl1.0.0 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 autoconf automake libtool bison libpcre3-dev -y

Ubuntu Trusty uses CMake 2.8.12, which is below the minimum CMake 3.3 required for Robot Raconteur. Download and build cmake from source.

mkdir /home/user/cmake
cd /home/user/cmake
wget https://github.com/Kitware/CMake/releases/download/v3.15.2/cmake-3.15.2.tar.gz
cd cmake-3.15.2
./configure
make
sudo make install

Build SWIG from source.

mkdir /home/user/swig
cd /home/user/swig
wget http://prdownloads.sourceforge.net/swig/swig-4.0.1.tar.gz
cd swig-4.0.1
./configure
make
sudo make install

Build Boost from source

mkdir /home/user/boost
cd /home/user/boost
wget https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.gz
cd boost_1_71_0
./bootstrap.sh
./b2 link=static cxxflags=-fpic

Finally, build Robot Raconteur from source

mkdir /home/user/rr
cd /home/user/rr
git clone https://github.com/robotraconteur/robotraconteur.git
cd robotraconteur
mkdir build
cd build
cmake .. -DBUILD_TEST=ON -DBUILD_GEN=ON -DBUILD_PYTHON=ON -DBoost_USE_STATIC_LIBS=ON -DBOOST_INCLUDEDIR=/home/user/boost/boost_1_71_0 -DBOOST_LIBRARYDIR=/home/user/boost/boost_1_71_0/stage/lib/
make
sudo make install

The Python library can now be found in /home/user/rr/robotraconteur/build/out/Python. To install run:

cd /home/user/rr/robotraconteur/build/out/Python
python setup.py install --user