java-8-ওরাকল (1.8.0_66) মুদ্রণযোগ্যতা নিয়ে সমস্যা "hsdis-amd64.so লোড করা যায়নি"


20

আমি -XX:+PrintAssemblyবিকল্পগুলি সহ আমার প্রোগ্রামগুলি চালানোর চেষ্টা করছি তবে আমি সর্বদা এই জাতীয় বার্তা পাই:

জাভা হটস্পট (টিএম) -৪-বিট সার্ভার ভিএম সতর্কতা: মুদ্রণযোগ্যতা সক্ষম হয়েছে; অতিরিক্ত আউটপুট পাওয়ার জন্য ডিবাগনসফিটপয়েন্টগুলি চালু করা hsdis-amd64.so লোড করা যায়নি; গ্রন্থাগার লোডযোগ্য নয়; মুদ্রণশৈলী অক্ষম করা আছে

আমি কেনাই থেকে hsdis-amd64.so ডাউনলোড করেছি: https://kenai.com/projects/base-hsdis/downloads

আমি নিজেই এই লাইব্রেরিটি তৈরি করেছি http://sourceforge.net/projects/fcML/files/fcml-1.1.1/ প্রকল্পের মাধ্যমে।

"গুগল বলে" আমি এটিকে সর্বত্র রেখেছি:

/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/
/usr/lib/jvm/java-8-oracle/lib/amd64/

নাম সহ:

hsdis-amd64.so
libhsdis-amd64.so
hsdis.so
libhsdis.so

আমি নিজেও রফতানি সেট করার চেষ্টা করেছি LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/

... এবং সব কিছুই।

উপরের সমাধানগুলির আর কোনও গুগলের ফলাফল আর নেই :-(

কেউ কি আমাকে সাহায্য করতে পারে?

উত্তর:


10

অন্যান্য উত্তর 1 তেlibhsdis0-fcml বর্ণিত হিসাবে প্রথমে ইনস্টল করুন :

sudo apt-get install libhsdis0-fcml

এটি কেবল ওপেনজেডিকে জন্য এটি ইনস্টল করে। আপনি তবে ব্যবহার করছেন 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

আপনি দেখতে পাচ্ছেন যে জায়গাগুলি এবং নামগুলি আপনি চেষ্টা করেছিলেন সেগুলি অবশ্যই জেডিকে অনুসন্ধানগুলির মধ্যে রয়েছে (আমার ক্ষেত্রে এটি সম্ভবত আরও জায়গা অনুসন্ধান করেছিল তবে উপরের শেষ অবস্থানটি যেখানে এটি ভাগ করে নেওয়া বস্তুটি খুঁজে পেয়েছিল) বন্ধ হয়ে গেছে।

মনে রাখবেন যে প্রকৃত জেভিএম আসল কমান্ডের চাইল্ড প্রক্রিয়া হিসাবে চালু হওয়ার পরে আপনার অবশ্যই -fপতাকাটির দরকার রয়েছে definitelystracejava

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প্যাকেজ-ম্যানেজার বান্ধব উপায়ে একটি (সম্ভবত কার্যকরী) ফাইল আনার উপায়। আপনি সর্বদা এটি সরাসরি বিভিন্ন উত্স থেকে সরাসরি ডাউনলোড করতে পারেন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.