一、Linux安装matlab运行时环境
官方下载地址:MATLAB Runtime - MATLAB Compiler - MATLAB
选择2021a的Linux版本下载:
下载完成后,上传服务器
创建matlab安装目录:
mkdir /data/matlab2021
将matlab安装包上传至该目录,通过unzip命令解压文件到当前目录:
unzip MCR_R2021a_glnxa64_installer.zip
解压完成,如图:
接下来,安装:在当前目录输入命令
./install -mode silent -agreeToLicense yes
安装完成后,根据安装日志尾部的提示新增环境变量:
vi /etc/profile
在最后新增环境变量:注意,使用安装日志提示的路径
export LD_LIBRARY_PATH=/usr/local/MATLAB/MATLAB_Runtime/v910/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/v910/extern/bin/glnxa64
刷新配置:
source /etc/profile
这样就初步安装好了,接下来就上传jar包运行测试!!!
二、Java调用matlab算法jar包遇到的问题
问题1
报错信息:
symbol lookup error: /usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: undefined symbol: __cxa_thread_atexit_impl
解决方法:/etc/profile中新增环境变量,该路径需找到自己服务器上的文件路径
export LD_PRELOAD=/usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64/glibc-2.17_shim.so
问题2
报错信息:
com.mathworks.toolbox.javabuilder.MWException: An error occurred while initializing the component.\nError loading /usr/local/MATLAB/MATLAB_Runtime/v910/bin/glnxa64/spf/framework/agent/spf/framework/libmwagentspfframework.so. libX11.so.6: 无法打开共享对象文件: 没有那个文件或目录: 没有那个文件或目录: 没有那个文件或目录
解决方法:安装缺失的依赖
yum install libX11
问题3
由于安装matlab运行时候环境,导致我的yum命令不可用,报错信息:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
/usr/lib64/python2.7/site-packages/pycurl.so: undefined symbol: CRYPTO_num_locks
Please install a package which provides this module, or
verify that the module is installed correctly.
解决办法:同样是在/etc/profile中新增环境变量
export LD_LIBRARY_PATH=/usr/lib64:/usr/lib:$LD_LIBRARY_PATH
新增过后刷新环境变量,然后yum就能正常使用了,再安装问题2的依赖,这样就能安装成功!
注意:安装完成依赖后,需要将该环境变量注释才能正常Java调用