Page 1 of 1

'symbol lookup error' while running Debian build

Posted: Tue Mar 13, 2018 1:12 pm
by xskola
Hello,

I suceeded in building the 2.0.1 (and git) versions in Debian 9.3, but there is an error popping up while starting the designed from the shell script:

/home/xskola/dev/meta/dist/designer-Release/bin/openvibe-designer: symbol lookup error: /home/xskola/dev/meta/dist/designer-Release/lib/libopenvibe-plugins-sdk-file-io.so: undefined symbol: _ZN11xercesc_3_19XMLString9transcodeEPKtPNS_13MemoryManagerE

This seems to be related to the software, not to the dependencies. Can you give me some advice how to tackle it, please?

Cheers,
Filip

Re: 'symbol lookup error' while running Debian build

Posted: Tue Mar 13, 2018 4:23 pm
by jtlindgren
Hello Filip,

the sdk part of OpenViBE depends on "libxerces-c-dev". Your error suggests that the compiler is able to compile the SDK, so your libxerces headers are present and ok for compiling, but they translate to a reference to a function signature which is not provided by the actual lib(s) that are being linked. This may mean a discrepancy between the dev package in the system and the corresponding library provided. The xerces library seems to be used by the scenario importer so you unfortunately cannot really disable the component relying on it, but need to find out whats wrong with either the lib/header pair or the way openvibe calls xerces. As this problem does not appear on ubuntus or fedoras, it seems currently debian specific.


Cheers,
Jussi

Re: 'symbol lookup error' while running Debian build

Posted: Wed Mar 14, 2018 10:39 am
by xskola
Hello Jussi,

thank you for your reply! It actually helped me a lot to fix the issue. The problem lies in the co-presence of Matlab on the computer where I attempted to compile and run Openvibe. The script running designed (openvibe-designer.sh) searches for matlab, and adds the required library paths to the environmental variable LD_LIBRARY_PATH. The problem is, Matlab also contains libxerces-c, seemingly incompatible with the version packed in the distribution.

So, if case anyone else is running into the same issue, commenting out the addition of matlab library path to the LD_LIBRARY_PATH var in the very beginning of openvibe-designer.sh should help.

Code: Select all

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
#       LD_LIBRARY_PATH="$MATLAB_LIBPATH:$LD_LIBRARY_PATH"
fi
However, it probably also breaks the Matlab funcionality with OV.

Filip