After installing matlab r2018a in kubuntu21.04, I open the real-time editor and report an error.
The following error messages can be seen from the error messages spit out by Java:
/usr/lib/x86_64-linux-gnu/libcairo.so.2: undefined symbol: FT_Get_Var_Design_Coordinates
After stack overflow search, it is found that the error reason is /usr/lib/x86_ 64 Linux GNU/libcairo. So. 2
Library dependency ft_Get_Var_Design_Coordinates
symbol, which exists in libfreetype. So
. At this time, search for libcairo. So
:
$ sudo find/-type f -iname 'libcairo.so*'
It can be found that MATLAB does not bring libcairo.So
, it can only call the in the system, so search the libfreetype.So
:
$ sudo find/-type f -iname 'libfreetype.so*'
It can be found that MATLAB has its own freetype library. Check which library is missing the required symbols:
$ nm -s -D /usr/lib/x86_64-linux-gnu/libfreetype.so.6.17.4 | grep FT_Get_Var_Design_Coordinates
000000000001c1d0 T FT_Get_Var_Design_Coordinates
$ nm -s -D /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so.6.11.1 | grep FT_Get_Var_Design_Coordinates
You can see that the system library has this symbol, but it does not exist in Matlab’s own library.
Check the library in MATLAB and find that it is connected to libfreetype.So.6.11.1
through the libfreetype.So.6
soft chain:
$ ls /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so* -l
lrwxrwxrwx 1 root root 42 8月 24 11:10 /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so.6 -> /usr/lib/x86_64-linux-gnu/libfreetype.so.6
-r--r--r-- 1 root root 651950 2月 6 2018 /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so.6.11.1
Then we only need to re link this soft link to the system library:
$ sudo rm /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so.6
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/local/MATLAB/R2018a/bin/glnxa64/libfreetype.so.6
At this time, the real-time editor can run normally.
In addition, the following command can be used to check the broken soft link:
$ find . -xtype l