Get the sources: wget http://openvibe.inria.fr/pub/src/openvibe-3.2.0-src.tar.xz
Uncompress: tar xvf openvibe-3.2.0-src.tar.xz
Apply patch: patch -p0 < openvibe-3.2.0_compile-ubuntu-20.04.patch
Then proceed with usual install steps:
Go to openvibe-3.2.0-src
and run linux-install_dependencies.sh
and then buil.sh
.
The resuling files will be stored in dist
subfolder. Go to openvibe-3.2.0-src/dist/Release/
, and run as usual openvibe-acquisition-server.sh
and openvibe-designer.sh
, enjoy!
Upon running the designer and the acquisition server I had issues because the launching scripts were locating an old Matlab installation, which outdated libraries where placed first in LD_LIBRARY_PATH
, creating issues such as symbol lookup error: /usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0: undefined symbol: XML_SetHashSalt
(caused by an old libexpat lib) or symbol lookup error: /usr/lib/x86_64-linux-gnu/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates
(caused by an old freetype lib, happy bug hunt). My stupid simple fix is to comment out the faulty parts in both dist/Release/openvibe-acquisition-server.sh
and dist/Release/openvibe-designer.sh
(I've never bridged OpenViBE with Matlab anyways), i.e.:
#if [ "`which matlab`" != "" ] ; then
# MATLAB_ROOT=`matlab -e | grep "^MATLAB=" | sed -e "s/^MATLAB=//"`
# MATLAB_ARCH=`matlab -e | grep "^ARCH=" | sed -e "s/^ARCH=//"`
# MATLAB_LIBPATH="$MATLAB_ROOT/bin/$MATLAB_ARCH"
# # echo Matlab libs expected at $MATLAB_LIBPATH
# export LD_LIBRARY_PATH="$MATLAB_LIBPATH:$LD_LIBRARY_PATH"
#fi
A patch won't cut it and you have to get your hands dirty because those script posses hard-coded paths (hence avoid moving around the source folder once compiled).
https://gist.github.com/stellarpower/4fde7fa21480acef40549d0b07a2e66a
As Earthfile for anyone interested. Shouldn't be hard to decompose Earthfile back to Dockerfile if this is preferred over Earthly.