Java jdk1.8 GLIBC依赖性问题

Java jdk1.8 GLIBC依赖性问题,java,linux,java-8,glibc,Java,Linux,Java 8,Glibc,我将rhel3与glibc-2.3.2一起使用。我正试图从JDK5迁移到jdk8,但遇到了如下的GLIBC依赖性问题。基本上从JDK1.7开始,GLIBC_2.4就存在这种依赖性 java -version Error: dl failure on line 883 Error: failed /homes/jdk1.8.0_45/jre/lib/i386/server/libjvm.so, because /lib/tls/libc.so.6: version `GLIBC_2.4' not

我将rhel3与glibc-2.3.2一起使用。我正试图从JDK5迁移到jdk8,但遇到了如下的GLIBC依赖性问题。基本上从JDK1.7开始,GLIBC_2.4就存在这种依赖性

java -version
Error: dl failure on line 883
Error: failed /homes/jdk1.8.0_45/jre/lib/i386/server/libjvm.so, because /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by /homes/JDK1.8/jdk1.8.0_45/jre/lib/i386/server/libjvm.so)
我无法在当前系统中安装最新的GLIBC,因为某些其他软件编译需要现有的GLIBC版本。我怎样才能继续

我无法在当前系统中安装最新的GLIBC,因为某些其他软件编译需要现有的GLIBC版本

你确定吗?除了极少数例外(
\uu ctype_b
是我所知道的唯一例外),较新版本的GLIBC是向后兼容的(旧应用程序继续使用较新的GLIBC版本运行)

我怎样才能继续

如果确实无法更新系统glibc,可以在非默认位置安装一个较新的glibc,并让JDK使用它

有关如何做到这一点的一些详细信息记录在本文档中

另一种方法是使用“显式加载程序调用”,如下所示:

GLIBC221LIB=/path/to/glibc-2.21/lib
$GLIBC221LIB/ld-linux.so.2 --library-path $GLIBC221LIB \
  /path/to/jdk8/bin/java ...args...

另一种选择是升级系统glibc,但将旧glibc-2.3.2保留在非默认位置,并将与新glibc版本不兼容的(希望很少)应用程序指向旧版本。

Uh哦,除了更新整个linux发行版,有多种方法可以使用不同的库创建一个隔离的环境,但这更像是一个linux管理问题,完全独立于所讨论的软件是JVM这一事实,因此,我建议重定向到…@8472。你能给我举个例子说明如何在我的上下文中使用LD_PRELOAD吗。
LD_PRELOAD
保证不起作用。我肯定不能更新glibc,原因有很多。所以让我们排除这个选项。我尝试了
GLIBC221LIB=/path/to/glibc-2.21/lib$GLIBC221LIB/ld linux.so.2——库路径$GLIBC221LIB\/path/to/jdk8/bin/java…args…
:但错误是
致命:内核太旧了
@Dil不同版本的glibc具有不同的最低内核要求。显然,您为正在运行的内核选择了太新的版本。