MATLAB not Starting on Ubuntu 18.04 with Intel Compilers

16 次查看(过去 30 天)
Dear all,
I've succesfully installed MATLAB R2017b on an Ubuntu 18.04 machine, but every time I try to start it I receive this error:
MATLAB is selecting SOFTWARE OPENGL rendering.
/usr/local/MATLAB/R2017b/bin/glnxa64/MATLAB: symbol lookup error: /opt/intel/compilers_and_libraries_2018.2.199/linux/compiler/lib/intel64/libirng.so: undefined symbol: __intel_skx_avx512_memcpy
Why is MATLAB interacting with libraries from the Intel compilers? How can I solve such crash?
UPDATE: the symbol is actually undefined:
$ nm -D /opt/intel/compilers_and_libraries_2018.2.199/linux/compiler/lib/intel64/libirng.so | grep __intel_skx_avx512_memcpy
U __intel_skx_avx512_memcpy
But libirng.so, as far as I understand, is an intel-only library, so it shouldn't be needed by MATLAB...
Thank you!
  4 个评论
Walter Roberson
Walter Roberson 2018-5-30
I think you should probably start a technical support case about this.
Federico
Federico 2018-5-31
It is open, but there are no replies at the moment, so I checked in here to see if someone else experienced the same issues / had a workaround

请先登录,再进行评论。

采纳的回答

Federico
Federico 2018-6-1
编辑:Federico 2018-6-8
Dear all,
I am here answering my own question for anybody that can encounter the same problem. The issue was related to .bashrc directives. My .bashrc file included commands to source Intel's *.sh files and set default compilers (e.g.: export FC = /opt/intel/bin/ifort). By commenting out all the export and source commands related to Intel Compilers, MATLAB starts.
WORKAROUND #1: Instead of editing .bashrc every time, it is enough to preload one Intel library: the symbol is actually undefined in libirng, but it is defined in libirc.
Therefore it is enough to edit .bashrc once with:
LD_PRELOAD = /opt/intel/compilers_and_libraries_2018.2.199/linux/compiler/lib/intel64/libirc.so
This does the trick and MATLAB starts normally.
WORKAROUND #2:
Also a workaround to avoid editing the .bashrc file every single time. In case workaround #1 didn't work, wrap MATLAB initialization in a .desktop file like this:
[Desktop Entry]
Name=Matlab R2017b
Exec=bash --noprofile --norc -c 'exec YourPathToMatlab/matlab -desktop'
Icon=/home/modelstation/Pictures/matlab-icon.png
Terminal=false
Type=Application
This invokes the shell but in a way that it ignores the bashrc specifications. The -c flag makes it execute the string that follows and thus launch MATLAB.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

产品


版本

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by