'symbol lookup error' while running Debian build

Post Reply
xskola
Posts: 12
Joined: Tue Mar 13, 2018 12:39 pm

'symbol lookup error' while running Debian build

Post 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

jtlindgren
Posts: 775
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: 'symbol lookup error' while running Debian build

Post 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

xskola
Posts: 12
Joined: Tue Mar 13, 2018 12:39 pm

Re: 'symbol lookup error' while running Debian build

Post 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

Post Reply