MATLAB: MATLAB not Starting on Ubuntu 18.04 with Intel Compilers

intel-compilersMATLABstart-up

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!

Best Answer

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.