2015-01-20 8 views
1

Я пытаюсь выполнить код, приведенный в следующей ссылке на Ubuntu 13.04 (64 бит):Запуск Растягиваемые Модели для человеческого разбора кода

https://github.com/bensapp/Stretchable-Models-for-Motion-Parsing

Я получаю следующее сообщение об ошибке:

INVALID MEX FILE: 'filepath/cps/utils/mex_opencv_boosting.mexa64': filepath/cps/utils/mex_opencv_bosting.mexa64: undefined symbol: _ZN7CvBoostC1EPKc.

Может кто-нибудь помочь мне с исправлением этой ошибки?

Спасибо


При запуске команды ДНУ mex_opencv_boosting.mexa64, я получаю следующий результат. Кажется, все в порядке.


linux-vdso.so.1 => (0x00007fff7c588000) 
    libcxcore.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libcxcore.so.4 (0x00007ff8f63b0000) 
    libcv.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libcv.so.4 (0x00007ff8f5f2b000) 
    libml.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libml.so.4 (0x00007ff8f5c9e000) 
    libhighgui.so.4 => filepath/cps/thirdparty/OpenCV-2.0.0/lib/libhighgui.so.4 (0x00007ff8f5a70000) 
    libmx.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmx.so (0x00007ff8f5748000) 
    libmex.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmex.so (0x00007ff8f5523000) 
    libmat.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmat.so (0x00007ff8f52d3000) 
    libstdc++.so.6 => /usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6 (0x00007ff8f4fcb000) 
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007ff8f4c9a000) 
    libgcc_s.so.1 => /usr/local/MATLAB/R2014a/sys/os/glnxa64/libgcc_s.so.1 (0x00007ff8f4a85000) 
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff8f4867000) 
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff8f449f000) 
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ff8f4297000) 
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007ff8f407d000) 
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff8f3e79000) 
    libgomp.so.1 => /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007ff8f3c6a000) 
    libpng12.so.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libpng12.so.0 (0x00007ff8f3a43000) 
    libmwresource_core.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwresource_core.so (0x00007ff8f3841000) 
    libmwi18n.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwi18n.so (0x00007ff8f3567000) 
    libut.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libut.so (0x00007ff8f32ad000) 
    libmwfl.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwfl.so (0x00007ff8f2eb1000) 
    libmwMATLAB_res.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwMATLAB_res.so (0x00007ff8f28ab000) 
    libboost_date_time.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_date_time.so.1.49.0 (0x00007ff8f269a000) 
    libboost_signals.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_signals.so.1.49.0 (0x00007ff8f2482000) 
    libboost_system.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_system.so.1.49.0 (0x00007ff8f227e000) 
    libboost_thread.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_thread.so.1.49.0 (0x00007ff8f2063000) 
    libmwcpp11compat.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwcpp11compat.so (0x00007ff8f1e56000) 
    libboost_log.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_log.so.1.49.0 (0x00007ff8f1b77000) 
    libboost_log_setup.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_log_setup.so.1.49.0 (0x00007ff8f1665000) 
    libicudata.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicudata.so.49 (0x00007ff8f0345000) 
    libicuuc.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicuuc.so.49 (0x00007ff8effbc000) 
    libicui18n.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicui18n.so.49 (0x00007ff8efbad000) 
    libicuio.so.49 => /usr/local/MATLAB/R2014a/bin/glnxa64/libicuio.so.49 (0x00007ff8ef9a0000) 
    libtbb.so.2 => /usr/local/MATLAB/R2014a/bin/glnxa64/libtbb.so.2 (0x00007ff8ef859000) 
    libtbbmalloc.so.2 => /usr/local/MATLAB/R2014a/bin/glnxa64/libtbbmalloc.so.2 (0x00007ff8ef724000) 
    libmwservices.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so (0x00007ff8ef158000) 
    libmwmpath.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwmpath.so (0x00007ff8eef11000) 
    libmwm_dispatcher.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwm_dispatcher.so (0x00007ff8eec3d000) 
    libboost_filesystem.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_filesystem.so.1.49.0 (0x00007ff8eea1d000) 
    libhdf5_hl.so.6 => /usr/local/MATLAB/R2014a/bin/glnxa64/libhdf5_hl.so.6 (0x00007ff8ee7f0000) 
    libhdf5.so.6 => /usr/local/MATLAB/R2014a/bin/glnxa64/libhdf5.so.6 (0x00007ff8ee371000) 
    /lib64/ld-linux-x86-64.so.2 (0x00007ff8f6a53000) 
    libexpat.so.1 => /usr/local/MATLAB/R2014a/bin/glnxa64/libexpat.so.1 (0x00007ff8ee149000) 
    libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007ff8edf0f000) 
    libboost_chrono.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_chrono.so.1.49.0 (0x00007ff8edd08000) 
    libboost_regex.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_regex.so.1.49.0 (0x00007ff8ed9ec000) 
    libboost_serialization.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_serialization.so.1.49.0 (0x00007ff8ed774000) 
    libunwind.so.8 => /usr/local/MATLAB/R2014a/bin/glnxa64/libunwind.so.8 (0x00007ff8ed556000) 
    libmwregexp.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwregexp.so (0x00007ff8ed30d000) 
    libmwmlutil.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwmlutil.so (0x00007ff8ecca9000) 
    libmwsettingscore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwsettingscore.so (0x00007ff8ec83b000) 
    libmwms.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwms.so (0x00007ff8ec296000) 
    libmwMATLAB_settings_res.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwMATLAB_settings_res.so (0x00007ff8ec073000) 
    libmwnativedisplay.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwnativedisplay.so (0x00007ff8ebe6a000) 
    libmwopccore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopccore.so (0x00007ff8ebc0b000) 
    libmwopcmodel.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopcmodel.so (0x00007ff8eb953000) 
    libmwopczippackage.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopczippackage.so (0x00007ff8eb737000) 
    libmwopcmwservices.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwopcmwservices.so (0x00007ff8eb4dd000) 
    libboost_iostreams.so.1.49.0 => /usr/local/MATLAB/R2014a/bin/glnxa64/libboost_iostreams.so.1.49.0 (0x00007ff8eb2c7000) 
    libxerces-c.so.27 => /usr/local/MATLAB/R2014a/bin/glnxa64/libxerces-c.so.27 (0x00007ff8eace4000) 
    libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007ff8eaac1000) 
    libmwxmlcore.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libmwxmlcore.so (0x00007ff8ea84c000) 
    libminizip.so => /usr/local/MATLAB/R2014a/bin/glnxa64/libminizip.so (0x00007ff8ea63f000) 
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007ff8ea415000)
+0

Похоже, что некоторые библиотеки OpenCV отсутствуют. Попробуйте 'ldd mex_opencv_boosting.mexa64' с терминала Linux (или с' system() 'в MATLAB), чтобы узнать, какие файлы .so вам нужно найти, отметив, что в MATLAB путь библиотеки LD_LIBRARY_PATH отличается. – chappjc

+0

, если вы используете opencv3.0, - интерфейсы ml значительно изменились к предыдущим версиям (cv :: ml :: Boost vs CvBoost) – berak

+0

@chappjc Я запустил ldd mex_opencv_boosting.mexa64, и он должен содержать список файлов .so с файлом пути. Я не понимаю, что мне нужно исправить. – Illuminati0x5B

ответ

0

Попробуйте следующее

export LD_LIBRARY_PATH=filepath/cps/thirdparty/opencv/lib:$LD_LIBRARY_PATH 

После запуска MATLAB из терминала. Ваш код должен работать.

То, что я обнаружил, что символ: _ZN7CvBoostC1EPKc есть в Filepath/сП/ThirdParty/OpenCV/Библиотеке/libml.so.4

nm filepath/cps/thirdparty/opencv/lib/libml.so.4 | grep _ZN7CvBoostC1EPKc 

Не в файл Filepath/сП// OpenCV третьей стороны -2.0.0/lib/libml.so.4 и каким-то образом настройка переменной среды из MATLAB не работает. Необходимо экспортировать LD_LIBRARY_PATH перед запуском MATLAB.

Смежные вопросы