64 位 java glibc 依赖项,不兼容
64-bit java glibc dependency, not compatible
有人可以给我一些解决这个 java 程序的建议吗?太感谢了。
我需要运行64位java和64位CentOS系统,但是程序不兼容我的glibc-2.14库。我手动构建了这个 glibc 库并将其添加到我的 LD_LIBRARY_PATH 因为我没有 ROOT 权限并且我需要该库用于其他一些程序。
我可以成功运行 32位版本:
[gmswenm@login-7-0 ~]$ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) Server VM (build 25.92-b14, mixed mode)
但我的管道需要 64 位 java,当我 运行 使用相同命令的 64 位版本时,命令卡住了。当我从 link 路径中删除 glibc 时,它可以 运行 顺利,但是我不能 运行 其他程序,这很伤心。
64位java的strace信息在这里,谢谢:
[gmswenm@login-7-0 ~]$ strace jdk1.8.0_92/bin/java -version:
execve("jdk1.8.0_92/bin/java", ["jdk1.8.0_92/bin/java", "-version"], [/* 120 vars */]) = 0
brk(0) = 0x980000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f643e655000
readlink("/proc/self/exe", "/home//jdk1.8.0_92/bin/java", 4096) = 34
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
futex(0x7f643ca249d0, FUTEX_WAIT, 11029, NULL <unfinished ...>
This answer 解释了为什么您不能简单地设置 LD_LIBRARY_PATH
以指向不同的 GLIBC,以及如何实现您想要的结果。
有人可以给我一些解决这个 java 程序的建议吗?太感谢了。 我需要运行64位java和64位CentOS系统,但是程序不兼容我的glibc-2.14库。我手动构建了这个 glibc 库并将其添加到我的 LD_LIBRARY_PATH 因为我没有 ROOT 权限并且我需要该库用于其他一些程序。
我可以成功运行 32位版本:
[gmswenm@login-7-0 ~]$ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) Server VM (build 25.92-b14, mixed mode)
但我的管道需要 64 位 java,当我 运行 使用相同命令的 64 位版本时,命令卡住了。当我从 link 路径中删除 glibc 时,它可以 运行 顺利,但是我不能 运行 其他程序,这很伤心。
64位java的strace信息在这里,谢谢:
[gmswenm@login-7-0 ~]$ strace jdk1.8.0_92/bin/java -version:
execve("jdk1.8.0_92/bin/java", ["jdk1.8.0_92/bin/java", "-version"], [/* 120 vars */]) = 0
brk(0) = 0x980000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f643e655000
readlink("/proc/self/exe", "/home//jdk1.8.0_92/bin/java", 4096) = 34
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
futex(0x7f643ca249d0, FUTEX_WAIT, 11029, NULL <unfinished ...>
This answer 解释了为什么您不能简单地设置 LD_LIBRARY_PATH
以指向不同的 GLIBC,以及如何实现您想要的结果。