पहले स्थापित करें 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 खोजों में से हैं (मेरे मामले में, यह शायद अधिक स्थानों की खोज की होगी, लेकिन ऊपर के अंतिम स्थान के बाद से बंद हो गया है जहाँ यह साझा वस्तु मिली है)।
ध्यान दें कि मूल कमांड के चाइल्ड प्रोसेस के रूप में वास्तविक JVM लॉन्च -f
होने के strace
बाद से आपको निश्चित रूप से ध्वज की आवश्यकता है java
।
मुद्दों के बीच strace
प्रकट हो सकता है एक अनुमति मुद्दा है। मुझे केवल लॉन्च करने वाले उपयोगकर्ता के लिए लाइब्रेरी पर रीड पर्म की आवश्यकता थी 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
पैकेज-मैनेजर फ्रेंडली तरीके से एक (संभवतः काम करने वाली) फ़ाइल पाने का एक तरीका है। आप हमेशा इसे सीधे विभिन्न स्रोतों में से एक से भी सीधे डाउनलोड कर सकते हैं।