如何修复在 Ubuntu 12.04(64 位)中安装 Matlab 2012a(64 位)时出现的 Java 问题?

如何修复在 Ubuntu 12.04(64 位)中安装 Matlab 2012a(64 位)时出现的 Java 问题?

我正在尝试在 Ubuntu 12.04LTS (64 位) 中安装 Matlab 2012a (64 位)。我已经安装了 Java 7。我的 Java 版本是:

sabyasachi@sabyasachi-ubuntu:~/Downloads/R2012a_UNIX$ java -version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode

安装 Matlab 时出现以下错误:

sabyasachi@sabyasachi-ubuntu:~/Downloads/R2012a_UNIX$ ./install 
Preparing installation files ...
Installing ...
/tmp/mathworks_18824/sys/java/jre/glnxa64/jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
Finished

我该如何解决这个问题?

当我使用 -v (详细)选项时,我得到以下信息:

sabyasachi@sabyasachi-ubuntu:~/Downloads/R2012a_UNIX$ sudo ./install -v
Preparing installation files ...
->  DVD                 = /home/sabyasachi/Downloads/R2012a_UNIX
->  ARCH                = glnxa64
->  DISPLAY             = :0
->  TESTONLY            = 0
->  JRE_LOC             = /tmp/mathworks_26521/sys/java/jre/glnxa64/jre
->  LD_LIBRARY_PATH     = /tmp/mathworks_26521/bin/glnxa64

Command to run:
/tmp/mathworks_26521/sys/java/jre/glnxa64/jre/bin/java  -splash:"/home/sabyasachi/Downloads/R2012a_UNIX/java/splash.png" -Djava.ext.dirs=/tmp/mathworks_26521/sys/java/jre/glnxa64/jre/lib/ext:/tmp/mathworks_26521/java/jar:/tmp/mathworks_26521/java/jarext:/tmp/mathworks_26521/java/jarext/axis2/:/tmp/mathworks_26521/java/jarext/guice/:/tmp/mathworks_26521/java/jarext/webservices/ com/mathworks/professionalinstaller/Launcher -root "/home/sabyasachi/Downloads/R2012a_UNIX" -tmpdir "/tmp/mathworks_26521" 

Installing ...
/tmp/mathworks_26521/sys/java/jre/glnxa64/jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
Finished
sabyasachi@sabyasachi-ubuntu:~/Downloads/R2012a_UNIX$

答案1

我遇到了同样的问题,并能够按照以下步骤修复它。打开终端Ctrl++AltT运行以下命令。

  1. 如果您还没有安装 JRE,请安装。

    sudo apt-get install openjdk-7-jre
    
  2. 使用 -javadir 选项调用安装程序

    sudo ./install -javadir  /usr/lib/jvm/java-7-openjdk-amd64/jre
    

答案2

您的 Java/JRE 可能与此无关 - Matlab 使用它自己的 JRE,这就是导致您出现错误的原因(注意路径)。

  • 确保 Matlabjava是可执行的,从chmod +x sys/java/jre/glnxa64/jre/bin/java顶层文件夹(似乎适合~Downloads/R2012a_UNIX你)[来源]

  • 使用以下命令运行安装程序:

    须藤。/安装-v
  • 这很可能会起作用;如果不行,请使用详细(-v)选项提供的扩展输出来编辑您的问题。

答案3

如上所述,MATLAB 有自己的(非常过时的)JRE 副本,但您可以通过将 MATLAB_JAVA 环境变量指向包含您希望它使用的 JRE 的目录来让它使用另一个。

请注意,Matlab 与 Java 7 不兼容(至少目前)。

相关内容