“/usr/bin/javac: /lib/ld-linux.so.2: 坏的 ELF 解释器:没有那个文件或目录”

Kou*_*hic 2 linux java-8

我在 linux 服务器 RHEL 7 中安装了 jdk1.8.0_161 .. 由于“/usr/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: No such file or目录”

以下是我安装jdk的步骤,

cd /opt/jdk1.8.0_161/
alternatives --install /usr/bin/java java /opt/jdk1.8.0_161/bin/java 2
alternatives --config java

There is 1 program that provides 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /opt/jdk1.8.0_161/bin/java

Enter to keep the current selection[+], or type selection number: 1

alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_161/bin/jar 2
alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_161/bin/javac 2
alternatives --set jar /opt/jdk1.8.0_161/bin/jar
alternatives --set javac /opt/jdk1.8.0_161/bin/javac

java -version
-bash: /usr/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory


export JAVA_HOME=/opt/jdk1.8.0_161
export JRE_HOME=/opt/jdk1.8.0_161/jre
export PATH=$PATH:/opt/jdk1.8.0_161/bin:/opt/jdk1.8.0_161/jre/bin
Run Code Online (Sandbox Code Playgroud)

Knu*_*sen 5

看起来您在 /opt/ 中解压了一个 tar.gz 文件。这个版本显然是在尝试使用 32bits /lib/ld-linux.so.2。(64位链接器是/usr/lib64/ld-linux-x86-64.so.2 -> ld-2.17.so

对于 EL7,请使用“rpm”8u 162 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljdk-8u162-linux-x64.rpm :

# cd Downloads/ && yum install ./jdk-8u162-linux-x64.rpm

# alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_162/bin/java 2
# alternatives --install /usr/bin/javac javac /usr/java/jdk1.8.0_162/bin/javac 2

# alternatives --config java
# alternatives --config javac
Run Code Online (Sandbox Code Playgroud)

没有问题 ...