2016-08-03 41 views
0

Könnte jemand bitte mir einige Vorschläge zur Lösung dieses Java-Programms geben? Ich danke dir sehr. Ich muss das 64-Bit-Java-on- und 64-Bit-CentOS-System ausführen, aber das Programm ist nicht mit meiner glibc-2.14-Bibliothek kompatibel. Ich baue diese Glibc-Bibliothek manuell und fügte sie meinem LD_LIBRARY_PATH hinzu, da ich keine ROOT-Berechtigung habe und diese Bibliothek für einige andere Programme benötige.64-Bit-Java-Glibc-Abhängigkeit, nicht kompatibel

ich erfolgreich die 32-Bit-Version laufen kann:

[[email protected] ~]$ 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) 

Aber meine Pipeline muss die 64-Bit-Java-

, wenn ich die 64-Bit-Version mit dem gleichen Befehl ausführen, erhalten Sie den Befehl fest. Wenn ich den glibc aus dem Link-Pfad entferne, kann er problemlos ausgeführt werden, aber dann kann ich die anderen Programme nicht ausführen, es ist so traurig.

Die Strace Informationen für die Java-64-Bit ist hier dank:

[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 ...> 

Antwort

0

This answer erklärt, warum Sie LD_LIBRARY_PATH nicht einfach auf verschiedene GLIBC zeigen und was Sie tun können, um Ihr gewünschtes Ergebnis zu erzielen.

+0

Großartig, vielen Dank, es funktioniert !!! – Honeybadger