“/usr/bin/javac: /lib/ld-linux.so.2: 错误的 ELF 解释器:没有这样的文件或目录”
Posted
技术标签:
【中文标题】“/usr/bin/javac: /lib/ld-linux.so.2: 错误的 ELF 解释器:没有这样的文件或目录”【英文标题】:"/usr/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory" 【发布时间】:2018-09-16 03:57:35 【问题描述】:我在 linux 服务器 RHEL 7 中安装了 jdk1.8.0_161。由于“/usr/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: No这样的文件或目录”
以下是我安装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
【问题讨论】:
【参考方案1】:看起来您在 /opt/ 中解压了一个 tar.gz 文件。这个版本显然是在尝试使用 32 位 /lib/ld-linux.so.2
。 (64位链接器为/usr/lib64/ld-linux-x86-64.so.2 -> ld-2.17.so
)
对于 EL7,请使用“rpm”8u162 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html → jdk-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
没问题...
【讨论】:
如果您使用共享资源因此没有 root 权限,您如何解决 @Koushic 的问题? jdk-8u162-linux-x64.rpm 安装到 /usr/java/ : root。 .....和 /etc/alternatives/ :根。 .....另外:#
是根提示符。 ....以上是关于“/usr/bin/javac: /lib/ld-linux.so.2: 错误的 ELF 解释器:没有这样的文件或目录”的主要内容,如果未能解决你的问题,请参考以下文章