Matlab crashed on start on Fedora 36

66 vues (au cours des 30 derniers jours)
Hyma Harish Vallabhapurapu
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 commentaire
Riccardo Scorretti
Riccardo Scorretti le 21 Avr 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.

Connectez-vous pour commenter.

Réponses (6)

Trevor Vannoy
Trevor Vannoy le 28 Juin 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 commentaire
Mikael
Mikael le 19 Fév 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.

Connectez-vous pour commenter.


Anil GURSES
Anil GURSES le 1 Mai 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 commentaires
Anil GURSES
Anil GURSES le 7 Mai 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 le 14 Mai 2022
Modifié(e) : Julio Larco le 14 Mai 2022
Only remove files " rm libfreetype.so.6*" of the installer. I don't remember where I saw that, but this works for me.

Connectez-vous pour commenter.


Viktor Erdelyi
Viktor Erdelyi le 16 Mai 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*
  1 commentaire
Chandram
Chandram le 25 Sep 2022
This absolutely works on R2022b

Connectez-vous pour commenter.


Clemens
Clemens le 26 Sep 2022
Modifié(e) : Clemens le 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 le 21 Juin 2022
Is this issue still prevelant in R2022b? Pinning cairo to an old releasever is not an ideal solution for the users.
  2 commentaires
Trevor Vannoy
Trevor Vannoy le 28 Juin 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 le 19 Fév 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.

Connectez-vous pour commenter.


Joshua Rhodes
Joshua Rhodes le 25 Août 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.)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by