首页 > 其他分享 >manjaro下matlab 2022a的安装问题,解决方法

manjaro下matlab 2022a的安装问题,解决方法

时间:2022-10-12 17:55:27浏览次数:84  
标签:bin manjaro symbol 2022a so matlab exclude glnxa64 MATLAB

https://ww2.mathworks.cn/matlabcentral/answers/364551-why-is-matlab-unable-to-run-the-matlabwindow-application-on-linux

Due to some library compatibility issues, MATLAB may not be able to launch MATLABWindow on your particular distribution/version of Linux. Here are some steps to detect and work around the incompatibility.

 

In MATLAB:

>> cd(matlabroot)

>> ! bin/glnxa64/MATLABWindow

 

1)If you see:

bin/glnxa64/MATLABWindow: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory

Then you should:

This is a known Ubuntu issue. As root: sudo pacman -S libgconf

 

2)If you see:

bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: g_log_structured

or: bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: g_log_structured_standard

Then you should:

Set aside MATLAB’s copy of the libglib-2.0.so library, located in <matlabroot>/cefclient/sys/os/glnxa64.

 

3)If you see:

bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Get_Var_Blend_Coordinates

or: bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Done_MM_Var

or: bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Get_Transform

Then you should:

Set aside MATLAB’s copy of the libfreetype.so.6 library, located in <matlabroot>/bin/glnxa64.

 

4)If you see:

bin/glnxa64/MATLABWindow: path to/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by somelibrary)

Then you should:

Set aside MATLAB’s copy of the libstdc++.so.6 library, located in <matlabroot>/sys/os/glnxa64

 

5)If you see:

A mini-browser window appears showing www.mathworks.com

Then you should:

Close the mini-browser. MATLABWindows is working.

To set aside MATLAB’s copy of the libstdc++.so.6 library (for example), please navigate to MATLAB R2017b installation location in your system and remove the “libstdc++.so.6” library file shipped with MATLAB R2017b, so that MATLAB will use the system version of that library:

<matlabroot>/sys/os/glnxa64

 

: Here <matlabroot> is the location in your system where MATLAB R2017b is installed.

Eg: ‘/usr/local/MATLAB/R2017B’.

Following are the commands to execute in linux shell to perform the above mentioned operation: (You may need root privilege)

# cd /usr/local/MATLAB/R2017b   (or wherever you may have installed MATLAB)# cd cefclient/sys/os/glnxa64   (or whichever directory is indicated in above table)# mkdir exclude# mv libglib-2.0.so* exclude/   (or whichever library is indicated in above table)

 

solving to not launch Simulink

I had an error that was not documented on support pages at all, but was very similar to this one. It propped up after I solved issue number 2 in this thread when attempting to launch Simulink.This solution worked for me on R2019b, but since the issue is consistent it should work with all recent MATLAB releases as well as all Linux distributions. As it turns out, there has been a problem with the Add-on Manager of MATLAB for a while now, causing these issues. Here's the solution in case you don't want to read the details. Also it is uncessary to redirect the symlinks as described on the Wiki, it is enough to exclude them from the matlabroot folder so MATLAB will use system-defaults.

Here's the process, run commands as root when prompted:

cd /usr/local/MATLAB/R2019b/cefclient/sys/so/glnxa64        # default location for this

mkdir exclude

Now enter the commands to remove the symlinks causing the errors.

mv libgio-2.0.so* exclude

mv libglib-2.0.so* exclude

mv libgmodule-2.0.so* exclude

mv libgobject-2.0.so* exclude

mv libgthread-2.0.so* exclude

 

Your problem should be solved. This shouldn't break anything either, since more up-to-date system defaults exist for these libs. You should also make a README file, so you know what you did and why in case you need to come back a year later or something.

I would also like to state, that I am severely disappointed in MATLAB and Mathworks. Providing a .zip file for installation on systems with very well made package management is dumb and annoying. Shipping an expensive piece of commercial software on an operating system claiming it works, while it needs workarounds is straight up outrageous.

 

Hi there,

I would like to refer you to the MATLAB page on the Arch Linux Wiki. 

https://wiki.archlinux.org/title/MATLAB

Even when you do not use Arch as your Linux distribution this page contains very detailed instructions on how to get MATLAB to work under Linux, from installation to configuration and troubleshooting. 

I found there the answer to the problem I had (the same problem aleper mentioned on starting SIMULINK).

i could fix this problem of matlab due to some library new on linux while matlab use old version so just you can  go to the path  /usr/local/MATLAB/R2017b/bin/glnxa64 then rename the libfreetype.so.6.11.1 to libfreetype.so.11.1.old that's all

 

NOTE: In the instructions below we use the phrase "set aside somelibrary.so" a couple of times, this does not mean only moving somelibrary.so itself, it means moving all files which start with somelibrary.so, so for example also somelibrary.so.1, somelibrary.so.1.0, etc. Scroll down to the bottom of this answer to see example Linux shell commands which use the * wildcard with which you can easily move all those files starting with a particular name.   Due to some library compatibility issues, MATLAB may not be able to launch MATLABWindow on your particular distribution/version of Linux. Here are some steps to detect and work around the incompatibility.   In MATLAB: >> cd(matlabroot) >> ! bin/glnxa64/MATLABWindow ----------------   1) If you see: bin/glnxa64/MATLABWindow: error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory Then you should: This is a known Ubuntu issue. As root: # apt-get install libgconf-2-4 ----------------   2) If you see: bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: g_log_structured or bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: g_log_structured_standard Then you should: Set aside MATLAB’s copy of the libglib-2.0.so library, located in <matlabroot>/cefclient/sys/os/glnxa64.   See instructions below. ----------------   3)If you see: bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Get_Var_Blend_Coordinates or bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Done_MM_Var or bin/glnxa64/MATLABWindow: symbol lookup error: somelibrary: undefined symbol: FT_Get_Transform Then you should: Set aside MATLAB’s copy of the libfreetype.so.6 library, located in <matlabroot>/bin/glnxa64.   See instructions below. ----------------   4) If you see: bin/glnxa64/MATLABWindow: path to/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by somelibrary) Then you should: Set aside MATLAB’s copy of the libstdc++.so.6 library, located in <matlabroot>/sys/os/glnxa64   See instructions below ----------------   5) If you see: A mini-browser window appears showing www.mathworks.com   Then you should: Close the mini-browser. MATLABWindows is working. ----------------   To set aside MATLAB’s copy of the libstdc++.so.6 library (for example), please navigate to MATLAB R2017b installation location in your system and remove the “libstdc++.so.6” library file shipped with MATLAB R2017b, so that MATLAB will use the system version of that library:   <matlabroot>/sys/os/glnxa64   Note : Here <matlabroot> is the location in your system where MATLAB R2017b is installed.   Eg: ‘/usr/local/MATLAB/R2017B’.   Following are the commands to execute in linux shell to perform the above mentioned operation: (You may need root privilege) # cd /usr/local/MATLAB/R2017b   (or wherever you may have installed MATLAB)# cd cefclient/sys/os/glnxa64   (or whichever directory is indicated in above table)# mkdir exclude# mv libglib-2.0.so* exclude/   (or whichever library is indicated in above table)
  29 个评论
显示 28更早的评论                                                         Alessandro Genova Alessandro Genova 2022-9-30,11:34     also, (currently in September 2022) version R2022b does not work on Linux (at least FOR ME), so I installed R2022a and works.

请先登录,再进行评论。

 更多回答(9 个)

József Mózer József Mózer  2021-1-8     I had an error that was not documented on support pages at all, but was very similar to this one. It propped up after I solved issue number 2 in this thread when attempting to launch Simulink. This solution worked for me on R2019b, but since the issue is consistent it should work with all recent MATLAB releases as well as all Linux distributions. As it turns out, there has been a problem with the Add-on Manager of MATLAB for a while now, causing these issues. Here's the solution in case you don't want to read the details. Also it is uncessary to redirect the symlinks as described on the Wiki, it is enough to exclude them from the matlabroot folder so MATLAB will use system-defaults. Here's the process, run commands as root when prompted: cd /usr/local/MATLAB/R2019b/cefclient/sys/so/glnxa64# default location for this mkdir exclude Now enter the commands to remove the symlinks causing the errors. mv libgio-2.0.so* exclude mv libglib-2.0.so* exclude mv libgmodule-2.0.so* exclude mv libgobject-2.0.so* exclude mv libgthread-2.0.so* exclude Your problem should be solved. This shouldn't break anything either, since more up-to-date system defaults exist for these libs. You should also make a README file, so you know what you did and why in case you need to come back a year later or something. I would also like to state, that I am severely disappointed in MATLAB and Mathworks. Providing a .zip file for installation on systems with very well made package management is dumb and annoying. Shipping an expensive piece of commercial software on an operating system claiming it works, while it needs workarounds is straight up outrageous.

标签:bin,manjaro,symbol,2022a,so,matlab,exclude,glnxa64,MATLAB
From: https://www.cnblogs.com/guochaoxxl/p/16785435.html

相关文章