Ошибка запуска команд оболочки Linux в Matlab - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь запустить файл сценария оболочки в Matlab, и я получаю сообщения об ошибках, о которых я понятия не имею. Я использую команду system следующим образом:

system('sh path_to_file/file.sh') ;

Я попытался изменить права доступа

chmod -R 755 file

, но все еще не могу выполнить файл. Файл успешно запускается вне сценария Matlab. Я использую Matlab в Ubuntu 18.04. Я надеюсь, что вы можете помочь мне, спасибо заранее.

Ошибки:

gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Network.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Core.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Core.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libQt5Gui.so.5: no version information available (required by gnuplot)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libgd.so.3)
gnuplot: /home/user/Matlab2019a/bin/glnxa64/libtiff.so.5: no version information available (required by /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0)
gnuplot: relocation error: gnuplot: symbol qt_version_tag version Qt_5.9 not defined in file libQt5Core.so.5 with link time reference

1 Ответ

1 голос
/ 15 октября 2019

Очевидно, что вы не можете запустить gnuplot, используя среду оболочки MATLAB, поскольку пути указывают на версии библиотек MATLAB вместо системных версий. Поэтому вам необходимо убедиться, что среда сброшена.

Один из способов сделать это - использовать env:

system('env -i sh path_to_file/file.sh')

Но sh не делаетПрочитайте .bashrc, если вы настроили соответствующую среду для gnuplot (не уверен, что это так), тогда вы должны использовать bash вместо sh.

...