ก่อนติดตั้งlibhsdis0-fcml
ตามที่อธิบายไว้ในคำตอบอื่น ๆ1 :
sudo apt-get install libhsdis0-fcml
สิ่งนี้จะติดตั้งสำหรับ OpenJDK เท่านั้น อย่างไรก็ตามคุณใช้java-8-oracle
ดังนั้นคุณจะต้องคัดลอกที่นั่น นี่เป็นที่แน่นอนคำสั่งคัดลอกที่ทำงานสำหรับฉัน:
sudo cp /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/hsdis-amd64.so /usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so
หากยังไม่ได้ผลคุณอาจลองstrace
ดูว่าสถานที่ของคุณjava
กำลังดูอยู่ที่ไหน ฉันใช้:
strace -f java -XX:CompileCommand='print, *.*' ... |& grep hsdis
เพื่อรับผลลัพธ์เช่นนี้
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY|O_NONBLOCK <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY|O_NONBLOCK <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so", O_RDONLY|O_CLOEXEC) = 14
คุณสามารถเห็นได้ว่าสถานที่และชื่อที่คุณพยายามนั้นอยู่ในหมู่การค้นหา JDK (ในกรณีของฉันมันอาจจะมีการค้นหาสถานที่มากกว่า แต่หยุดลงเนื่องจากตำแหน่งสุดท้ายด้านบนเป็นที่ที่มันพบวัตถุที่ใช้ร่วมกัน)
โปรดทราบว่าคุณต้องมีการ-f
ตั้งค่าสถานะอย่างแน่นอนstrace
เนื่องจาก JVM จริงจะถูกเรียกใช้เป็นกระบวนการลูกของjava
คำสั่งดั้งเดิม
ท่ามกลางปัญหาstrace
อาจเปิดเผยเป็นปัญหาสิทธิ์ ฉันต้องการอ่าน perms บนไลบรารีสำหรับผู้ใช้ที่เปิดตัวjava
เท่านั้น
java -version
ผลลัพธ์ของฉัน:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
1จริง ๆ นี่เป็นเพียงวิธีหนึ่งในการรับไฟล์ (สมมุติว่าทำงานได้) hsdis.so
ในรูปแบบที่เป็นมิตรกับผู้จัดการแพ็คเกจ คุณสามารถดาวน์โหลดได้โดยตรงจากแหล่งใดแหล่งหนึ่งเช่นกัน