অগ্রহণিত লিঙ্ক ত্রুটি এবং Eclipse শুরু করার সময় .so ফাইলগুলি অনুপস্থিত


19

আমি গতকাল 12.04 বিটাতে আপগ্রেড করেছি। এখন, যখন আমি Eclipse শুরু করার চেষ্টা করব, আমি স্প্ল্যাশ স্ক্রিন এবং তারপরে এই ত্রুটি বার্তাটি পেয়েছি:

An error has occurred. See the log file /home/gabriel/.eclipse/org.eclipse.platform_3.7.0_155965261/configuration/1335382319394.log .

লগ ফাইলটি এরকম কিছু বলে:

java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
    no swt-gtk-3740 in java.library.path
    no swt-gtk in java.library.path
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk-3740.so
    Can't load library: /home/gabriel/.swt/lib/linux/x86_64/libswt-gtk.so

এরপরে আরও অনেক ত্রুটি বার্তা রয়েছে।

/home/gabriel/.swt/lib/linux/x86_64/ডিরেক্টরি বিদ্যমান, কিন্তু খালি। আমি কোনও সাফল্য ছাড়াই পুনরায় ইনস্টল করার চেষ্টা করেছি।

কোন ধারনা?


এটি একটি বাগ। দয়া করে লঞ্চপ্যাডে লগইন করুন এবং নিবন্ধভুক্ত করুন যা এটি আপনাকেও
ডেভিড এডওয়ার্ডস

উত্তর:


19

আমি একটি AMD64 মেশিনে (উবুন্টু 12.04) একই সমস্যা পেয়েছি। এবং একটি workaround দ্বারা এটি সমাধান:

কপি: এ ধারণকারী '3740' ফাইল /usr/lib/jni/libswt-*3740.so করতে ~ / .swt / lib / অনুপস্থিত লিনাক্স /, x86_64 /

তবে, প্যাকেজগুলি নিশ্চিত করুন: libswt-gtk-3-java & libswt-gtk-3-jni ইনস্টল করা আছে।

sudo apt-get install libswt-gtk-3-jni libswt-gtk-3-java

এবং

sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86_64/

আপনার যদি 32 বিট ভিত্তিক সিস্টেম থাকে: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/


1
বাহ এটা আসলে আমার জন্যও কাজ করেছে (ইন্টেল কোর আই 5, 64 বিট উবুন্টু 12.04) অনেক অনেক ধন্যবাদ!
ভাল্ল্ল

1
32-বিট সিস্টেমের জন্য দুর্দান্ত কাজ করেছে। ব্যবহার হচ্ছে: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/। ধন্যবাদ এবং আপনার উত্তর আপডেট করুন।
বাইনারি লাইফ

1
এটি সত্যিই আমার পক্ষে কাজ করে (উবুন্টু নির্ভুল 64 বিট) 64 আমি কপির পরিবর্তে নরম লিঙ্ক তৈরি করেছি।
মাসুচ

4

চালানোর চেষ্টা করুন

sudo update-alternatives --config java

এবং নির্বাচন open jdk। এটি সম্ভবত কাজ করবে।


এটি কাজ করেছে, তবে আমি ব্যবহার এড়াতে চেষ্টা করছি openjdk
কেইডাক্স

আসলে, কিছু মনে করবেন না। আমি শুধু এটি সঙ্গে যেতে হবে।
কেইড্যাক্স

1
আমি ওপেনজেডকে এড়াতেও চেয়েছিলাম, সুতরাং হ্যান্নোস্কির উত্তরটি দেখুন; এটা আমার জন্য কাজ!
নিক বাদল

2

এছাড়াও আমার জন্য এটি কাজ করে; আমি করেছি:

cd ~/.swt/lib/linux/x86_64
ln -s /usr/lib/jni/libswt-atk-gtk-3740.so
ln -s /usr/lib/jni/libswt-gtk-3740.so
ln-s /usr/lib/jni/libswt-pi-gtk-3740.so

এবং তাই আমি ফোল্ডারে sy / .swt / lib / linux / x86_64 ফোল্ডারে 3 টি সিমিলিংক তৈরি করেছি

এখন গ্রহন তো ঠিক কাজ করে!


2
echo "-Djava.library.path=/usr/lib/jni" >> /etc/eclipse.ini

এটা আমার জন্য স্থির কর


এই সমাধানটি পছন্দ করুন, এটি সমস্ত ব্যবহারকারীর জন্য স্থির করুন।
অ্যাডাম নেস

1

দুর্দান্ত নির্দেশাবলীর জন্য ধন্যবাদ। পরিবর্তে আমি এটির মতো এই জাতীয় প্রতিলিঙ্ক যুক্ত করেছি, এটি নিশ্চিত করতে যে এটি 3740 টি নিয়েছে :

cd ~/.swt/lib/linux/x86_64

for i in /usr/lib/jni/*3740*.so ; do ln -s $i; done

0

আমি অনুপস্থিত libs এর প্রতিলিপি তৈরি করেছি এবং সবকিছু ঠিকঠাক কাজ করেছে। এটি দেখতে এভাবেই শেষ হয়েছিল ...

    libswt-atk-gtk-3740.so -> /usr/lib/jni/libswt-atk-gtk-3740.so
    libswt-gtk-3740.so -> /usr/lib/jni/libswt-gtk-3740.so
    libswt-pi-gtk-3740.so -> /usr/lib/jni/libswt-pi-gtk-3740.so

কাজ মনে হচ্ছে।

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