Matlab crashed on start on Fedora 36

66 views (last 30 days)
As title suggests, matlab crashes when launched form the terminal on Fedora 36. There are lots of Java errors. the version of Matlab I am using is 2021b. See attached image for error. Running ./bin/glnxa64/MATLABWindow gives the error symbol lookup error: /lib64/libcairo.so.2: undefined symbol: FT_Get_Color_Glyph_Layer
For reference, matlab worked fine on Fedora 35. I had upgraded just two days earlier.
  1 Comment
Riccardo Scorretti
Riccardo Scorretti on 21 Apr 2022
Up to my (limited) experience, this could be due to an incompatibility between the libraries shipped with MATLAB and the ones installed in the system. Usually this kind of very nasty problem can be solved either by removing the version of the library shipped with MATLAB, or by downgrading the cluprit library.
Assuming that the library which is at the origin of the problem is libcairo.so.2, which is not shipped with MATLAB, you can try the following procedure:
  1. download the previous version of the library from https://download-ib01.fedoraproject.org/pub/fedora/linux/releases/35/Everything/aarch64/os/Packages/c/cairo-1.17.4-4.fc35.aarch64.rpm. It should be a file named cairo-1.17.4-4.fc35.aarch64
  2. Extract the file (don't install, just extract it) and copy the file libcairo.so.2.11704.0 somewhere (personally I would copy it into /usr/lib64)
Now, I would like to run MATLAB by using: LD_PRELOAD=/usr/lib64/libcairo.so.2.11704.0 matlab. Unfortunately I get the error:
ERROR: ld.so: object 'libcairo.so.2.11704.0_copy' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
I think that if you manage to solve this problem and preload the version of the library shipped with F35, your problem could be solved. I hope it helps.

Sign in to comment.

Answers (6)

Trevor Vannoy
Trevor Vannoy on 28 Jun 2022
There's no need to downgrade libcairo to the Fedora 35 version. According to the Arch Wiki The issue stems from the version of libfreetype that ships with MATLAB.
I fixed the issue by setting aside MATLAB's libfreetype.so.6.16.0 library, then symlinking to my system's libfreetype.s0.6:
cd /usr/local/MATLAB/R2022a/bin/glnxa64
sudo mv libfreetype.so.6.16.0{,.bak}
sudo ln -sf /lib64/libfreetype.so.6 libfreetype.so.6
  1 Comment
Mikael
Mikael on 19 Feb 2023
This seemed to solve my problems for R2023b but I later found that I could not start
simulink, got error
Caught std::exception Exception /usr/local/MATLAB/R2022b/bin/glnxa64/libmwdastudio.so
when starting simulink.
So finally I had to downgrade cairo to F35 status as described below.

Sign in to comment.


Anil GURSES
Anil GURSES on 1 May 2022
I solved the problem by downgrading libcairo and dependent packages. You can use the command below,
sudo dnf install cairo-1.17.4 --releasever=35
If you still encounter an error, try to link /lib64/libcairo.so to /lib64/libcairo.so.2.
sudo ln -s /lib64/libcairo.so /lib64/libcairo.so.2
I hope this helps.
  3 Comments
Anil GURSES
Anil GURSES on 7 May 2022
Hi Mark,
You can install R2022a by just removing libfreetype.so.6 from the installer setup files. Go to your matlab installer directory and run the command below,
rm ./bin/glnxa64/libfreetype.so.6*
Ref. wiki
Julio Larco
Julio Larco on 14 May 2022
Edited: Julio Larco on 14 May 2022
Only remove files " rm libfreetype.so.6*" of the installer. I don't remember where I saw that, but this works for me.

Sign in to comment.


Viktor Erdelyi
Viktor Erdelyi on 16 May 2022
I'm using 2022a, but I managed to fix the issues by moving/removing the following files
  • mv sys/opengl sys/opengl_BAK
  • rm sys/os/glnxa64/libstdc++*
  • rm bin/glnxa64/libfreetype*

Clemens
Clemens on 26 Sep 2022
Edited: Clemens on 26 Sep 2022
On an up to date debian sid system, this works for me (thanks to Trevor and Victor, see above their posts):
  • copy iso image to a directory A
  • cd A
  • rm bin/glnxa64/libfreetype*
  • rm sys/os/glnxa64/libstdc++.so.6*
  • cd bin/glnxa64/
  • ln -sf /usr/lib/x86_64-linux-gnu/libfreetype.so.6 libfreetype.so.6
  • cd ../.. # change again to directory A
  • ./install
After that the installer window opens and I can install and run matlab r2022b.

Cristian Le
Cristian Le on 21 Jun 2022
Is this issue still prevelant in R2022b? Pinning cairo to an old releasever is not an ideal solution for the users.
  2 Comments
Trevor Vannoy
Trevor Vannoy on 28 Jun 2022
You don't need to downgrade cairo. See my answser: https://www.mathworks.com/matlabcentral/answers/1699735-matlab-crashed-on-start-on-fedora-36#answer_995890
Mikael
Mikael on 19 Feb 2023
It seems you need to downgrade to libcairo, Fedora 35-status, if you are also intending to use simulink, unfortunately,
as of my testing and web search. See my above comment.

Sign in to comment.


Joshua Rhodes
Joshua Rhodes on 25 Aug 2023
You could also try using distrobox and podman to create an ubuntu container and running Matlab in that. (Ubuntu is one of the guaranteed supported distros.)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!