如何解决在 Ubuntu 12.04(64 位)中安装 Matlab 2012a(64 位)的 Java 问题?

Sab*_*chi 6 64-bit shared-library java matlab 12.04

我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)

安装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
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

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

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$
Run Code Online (Sandbox Code Playgroud)

小智 6

我遇到了同样的问题,并且能够通过以下步骤修复它。开放端子Ctrl+ Alt+T和运行下面的命令。

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

    sudo apt-get install openjdk-7-jre
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 -javadir 选项调用安装程序

    sudo ./install -javadir  /usr/lib/jvm/java-7-openjdk-amd64/jre
    
    Run Code Online (Sandbox Code Playgroud)


ish*_*ish 2

您的 Java/JRE 可能与此无关 - Matlab 正在使用它自己的 JRE,这就是给您带来错误的原因(注意路径)。

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

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

    须藤./安装-v
  • 这很可能应该有效;如果没有,请使用详细(-v)选项将为您提供的扩展输出来编辑您的问题。


小智 1

如前所述,MATLAB 有自己的(已经过时的)JRE 副本,但您只需将 MATLAB_JAVA 环境变量指向包含您希望其使用的 JRE 的目录即可使其使用另一个副本。

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