본문 바로가기

컴퓨터

[Linux] Fedora에 MATLAB 설치하기

현재 가장 최신 버전인 MATLAB R2023a 버전을 설치하다가 여러 문제가 발생했다. 설치 자체는 되었지만 툴박스를 설치하기 위해 애드온을 추가하려고 하면 Error using matlab.internal.cef.webwindow 라는 에러가 뜨면서 아무것도 되지 않았다. 아래의 과정을 진행했더니 해결되었다. 출처: https://kr.mathworks.com/matlabcentral/answers/1857418-matlab-on-fedora-37-

 

MATLAB on Fedora 37

How do I install and use matlab 2022b on fedora?

kr.mathworks.com

----------------------------------------------------------------------------------------------------------------------------------------------

I just lost a few hours getting this to work. More detailed information can be found in this Arch Linux wiki entry.
Replace $MATLAB_DIR with the path you installed Matlab to (e.g.: /home/username/matlab). I had to navigate the installer with the keyboard as text input boxes stopped worked as soon as I clicked on something with the mouse.
ThemeCopy
cd ~/Downloads/matlab_R2022b_glnxa64

export LD_PRELOAD=/usr/lib/libfreetype.so.6  (여기서 /usr/lib/libfreetype.so.6 -> /usr/lib64/libfreetype.so.6 으로 수정해야 동작함)

./install
Set scaling for high DPI screens:
ThemeCopy
TMP=$HOME/tmp $MATLAB_DIR/bin/matlab -r "s = settings;s.matlab.desktop.DisplayScaleFactor.PersonalValue=2;quit" -nodesktop -nosplash
Fix opengl errors:
ThemeCopy
echo "-Djogl.disable.openglarbcontext=1" >> $MATLAB_DIR/bin/glnxa64/java.opts
Add shortcut:
ThemeCopy
> cat ~/.local/share/applications/matlab.desktop
[Desktop Entry]
Type=Application
Terminal=false
MimeType=text/x-matlab
Exec=env LD_PRELOAD="/usr/lib64/libstdc++.so.6 /usr/lib64/libfreetype.so.6" LD_LIBRARY_PATH=/usr/lib/dri/ $MATLAB_DIR/bin/matlab -desktop
Name=Matlab
Icon=$MATLAB_DIR/bin/glnxa64/cef_resources/matlab_icon.png
Categories=Development;Math;Science
Comment=Scientific computing environment
StartupNotify=true

----------------------------------------------------------------------------------------------------------------------------------------------

참고로 아치리눅스 위키에서는 /usr/lib64/libstdc++.so.6 대신 /usr/lib/libstdc++.so.6로 되어있었다. 내 컴퓨터엔 모종의 이유로 i686과 x86_64의 libstdc++이 모두 설치되어 있었고 이 때문에 아치리눅스 위키대로 하니 i686의 libstdc++을 자꾸 가져와 ELF 포맷 오류가 계속 떴다. 위 내용대로 lib64에 있는 libstdc++을 이용하도록 하니 해결되었다.