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
'symbol lookup error' while running Debian build
-
- Posts: 775
- Joined: Tue Dec 04, 2012 3:53 pm
- Location: INRIA Rennes, FRANCE
Re: 'symbol lookup error' while running Debian build
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
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
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.
However, it probably also breaks the Matlab funcionality with OV.
Filip
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
Filip