लिंक शुरू होने पर असंतुष्ट लिंक त्रुटि और लापता .so फाइलें


19

मैंने कल 12.04 बीटा में अपग्रेड किया। अब, जब मैं ग्रहण शुरू करने का प्रयास करता हूं, मुझे स्प्लैश स्क्रीन मिलती है और फिर यह त्रुटि संदेश आता है:

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/निर्देशिका मौजूद है, लेकिन खाली है। मैंने बिना किसी सफलता के साथ ग्रहण को फिर से स्थापित करने की कोशिश की।

कोई विचार?


यह एक बग है। कृपया लॉन्चपैड में लॉग इन करें और रजिस्टर करें कि यह आपको भी प्रभावित करता है: Bugs.launchpad.net/ubuntu/+source/eclipse/+bug/989615
डेविड एडवर्ड्स

जवाबों:


19

मुझे AMD64 मशीन (Ubuntu 12.04) में यही मुद्दा मिला है। और इसे हल करके हल किया है:

कॉपी: में से युक्त '3740' फ़ाइलों /usr/lib/jni/libswt-*3740.so को ~ / .swt / lib / linux / 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
वाह यह वास्तव में मेरे लिए भी काम किया (इंटेल कोर i5, 64 बिट ubuntu 12.04) बहुत बहुत धन्यवाद!
vallllll

1
32-बिट सिस्टम के लिए बढ़िया काम किया। का उपयोग करना: sudo cp /usr/lib/jni/libswt-*3740.so ~/.swt/lib/linux/x86/। धन्यवाद और अपना जवाब अपडेट करें।
बाइनरीलाइफ

1
यह वास्तव में मेरे लिए (उबंटू सटीक 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

और इसलिए, मैंने ~ ~ .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

मैंने गुमशुदा कामों के लिए सहानुभूति बनाई और सब कुछ ठीक रहा। यह इस तरह लग रहा था ...

    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

काम करने लगता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.