MATLAB Answers

MATLAB not Starting on Ubuntu 18.04 with Intel Compilers

56 views (last 30 days)
Federico
Federico on 30 May 2018
Edited: Federico on 8 Jun 2018
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 Comments

Show 1 older comment
Federico
Federico on 30 May 2018
Actually that path was not set under LD_LIBRARY_PATH and libirng is not part of MATLAB bundled libraries (under glnxa64). So I do not understand even why it is expecting libirng to be there! If it's a dependency it is not stated during install...
Walter Roberson
Walter Roberson on 30 May 2018
I think you should probably start a technical support case about this.
Federico
Federico on 31 May 2018
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

Sign in to comment.

Accepted Answer

Federico
Federico on 1 Jun 2018
Edited: Federico on 8 Jun 2018
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.

More Answers (0)

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!