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

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 个评论
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
posted @ 2022-10-12 17:47  叕叒双又  阅读(480)  评论(0编辑  收藏  举报