Системная команда MATLAB

Я пытаюсь запустить R из Matlab с помощью команды system. Когда я вхожу команда system('R'), я получаю следующую ошибку:

/usr/lib64/R/bin/exec/R:/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6: версия `CXXABI_1.3.8 'не найдена (требуется/lib64/libicuuc.so.52) /usr/lib 64/R/bin/exec/R:/usr/local/MATLAB/R2014a/sys/os/glnxa64/libstdc++.so.6: version `CXXABI_1.3.8 'не найден (требуется/lib64/libicui18n. so.52)

R работает, когда я использую его вне Matlab. Я использую Linux.

1 ответ

Ответ можно найти в Как сказать mex для связи с libstdС++. so.6 в /usr/lib вместо того, который находится в каталоге MATLAB?

По сути, Matlab использует собственную версию libstdС++, поэтому при запуске команд из системы вы должны убедиться, что система использует libstdС++. so.6 в папке по умолчанию на компьютере.

% Save library paths
MatlabPath = getenv('LD_LIBRARY_PATH');
% Make Matlab use system libraries
setenv('LD_LIBRARY_PATH',getenv('PATH'))
system( 'R' )
% Reassign old library paths
setenv('LD_LIBRARY_PATH',MatlabPath)

licensed under cc by-sa 3.0 with attribution.