গ্রহনটি এসডাব্লুটি লাইব্রেরি লোড করতে পারে না


295

আমি যখনই উবুন্টুতে 12.04 খ্রিস্টাব্দের খোলার চেষ্টা করব তখন আমি একটি অসন্তুষ্ট লিঙ্ক ত্রুটি পেয়েছি এবং এটি খুলবে না। আমি সম্প্রতি জাভা জেডিকে এবং অ্যান্ড্রয়েড এসডিকে ইনস্টল করেছি, সমস্যা হতে পারে কি? আমি এই টিউটোরিয়াল অনুসরণ করেছি ।

লগ তথ্য এখানে:

!SESSION 2012-04-15 21:05:46.902 -----------------------------------------------
eclipse.buildId=I20110613-1736
java.version=1.7.0
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_GB
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2012-04-15 21:05:47.885
!MESSAGE Application error
!STACK 1
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/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
Can't load library: /home/tom/.swt/lib/linux/x86_64/libswt-gtk.so

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:285)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:194)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:132)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:695)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:95)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

আমি আনইনস্টল এবং পুনরায় ইনস্টল করার, এবং ~/.eclipseডিরেক্টরিটি সরিয়ে দেওয়ার চেষ্টা করেছি তবে এটি এখনও কার্যকর হয় না


আমি অবশ্যই বলতে পারি আপনার গ্রন্থাগারের পাথটি বিজোড় দেখাচ্ছে। । .So ফাইলগুলি কি কোনও এক বিস্ফোরিত জারের মধ্যেই গ্রহন / প্লাগইন ফোল্ডারের মধ্যে থাকা উচিত? এমনকি আপনার কি এমন কোনও ডিরেক্টরি রয়েছে (~ / .swt / lib / ...)?
মার্কো টপলনিক

আপনি কি libswt-java-gtk3 ইনস্টল করেছেন?
ফেডেরিকো ভেরা

যদিও এর নীচে উত্তর দেওয়া হয়েছে, এটি মনে হচ্ছে উবুন্টুর ইনস্টলেশন সিস্টেমে এটি একটি ত্রুটি রয়েছে যা উত্থাপন করা উচিত, কারণ এটি যদি আমি অ্যাপটিটিউড / অ্যাপটি-গেট ব্যবহার করে গ্রহনটি আনইনস্টল এবং পুনরায় ইনস্টল করি তা অবিরত থাকে। যদি এই ইস্যুটির কোনও লিঙ্ক থাকে, তবে এখানে এটি সরবরাহ করা ভাল হবে যাতে ভাবেনেরা এটিকে উত্সাহ দিতে পারে।
android.weasel

উত্তর:


661

আমার উবুন্টু 12.04 32 বিট এ । আমি আদেশটি সম্পাদনা করি:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

এবং উবুন্টু 12.04 এ 64 বিট চেষ্টা করুন:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/

4
আমি যেমন আদেশ পেয়েছিলাম ঠিক তেমন কার্যকর করেছি এবং এটি কার্যকর হয়েছে! ওরাকল জাভা 7
এমজে

2
আমি এই পদ্ধতির পছন্দ করব কারণ একটি প্রকল্পের জন্য আমাকে ওরাকল জাভা 7 ব্যবহার করতে হবে
রোজনু

2
ধন্যবাদ. আমার পথটি কিছুটা আলাদা ছিল তবে এটি আমার জন্য এটি স্থির করে। ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/
আর্ট

2
আমি দ্বিতীয় বার এটি করতে হয়েছিল: কয়েক মাস আগে একবার আমার ওয়ার্ক কম্পিউটারে, এবং এখন কেবলমাত্র আমার হোম কম্পিউটারে, কোনও একক সমস্যা ছাড়াই কয়েক মাস ধরে গ্রহের ব্যবহার করার পরে times Swt গ্রন্থাগারগুলি স্রেফ অদৃশ্য হওয়ার কোনও কারণ আছে কি?
jonhopkins

2
এই বাস্তব জীবন রক্ষাকারী! নোট করুন যে এআরএম-এ থাকা যিনি (আমার মতো ক্রোমবুকের গ্রহপান চালাচ্ছেন) "x86" কে "বাহু" দিয়ে প্রতিস্থাপন করা উচিত অন্যথায় এটি কাজ করবে না!
পাওয়ারেডবাইরাইস

54

মীমাংসিত:

যেহেতু আমি ওরাকল জাভা 7 ইনস্টল করেছিলাম এটি ডিফল্ট জাভাটিকে ওরাকল জাভা 7 তে পরিবর্তিত করেছে, তবে এটি ওপেন জেডিকে হওয়া দরকার।

ঠিক করতে, টার্মিনালটি খুলুন এবং টাইপ করুন

sudo update-alternatives --config java

এটি জাভা বিভিন্ন ধরণের একটি তালিকা এনেছে। কেবল ওপেন জেডিকে নির্বাচন করুন।


7
তবে আপনি যদি গ্রহণের সাথে ওরাকল জাভা ব্যবহার করতে এবং জেডিকে না খুলতে চান তবে কীভাবে কেউ এটি করতে পারেন? ধন্যবাদ!
আলট্রাওজন

এর কারণ কি ওরাকল জাভা 7 আর জার্সে নেটিভ লাইব্রেরি সন্ধান করে না? জাভা 7 এর সাথে উইন্ডোজগুলিতেও আমার একই সমস্যা। swt প্রোগ্রামটি ঠিক কাজ করত
Wudong

লিনাক্স পুদিনা মায়া জন্য আমার জন্য কাজ।
আরশহরিয়ার

1
অবশ্যই আপনি যদি এফওএসএসকে পছন্দ করেন তবে ওপেনজেডিকে পছন্দের প্ল্যাটফর্ম তবে (যথারীতি এই কর্পোরেট ট্রোগলোডাইটস সহ) ওরাকল তাদের সংস্করণে কিছু নির্দিষ্ট হুক চাপিয়ে দেয় যা জাভা প্ল্যাটফর্মের মধ্যে কিছু অ্যাপ্লিকেশন (এবং বেশিরভাগ জাভা ওয়েবস্টার্ট অ্যাপস) এর পোর্টিং প্রতিরোধ করে। এটি জাভার মূল উদ্দেশ্যকে বহন করে, বহনযোগ্যতা, এ কারণেই তারা ভেন্ডর লক-ইন অনুশীলন করে পায়ে নিজেকে গুলি করছে ... ল্যাং লাইভ দ্যা পাইথন! দীর্ঘজীবী হও!
ভিজেন

44

কেবল গ্রন্থাগারের জন্য পথ নির্দিষ্ট করুন:

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

2
মনে হচ্ছে এটিই সবচেয়ে পরিষ্কার সমাধান।
এমএসপ্যাঙ্ক

1
জাভা সম্পর্কিত ফাইলের অবস্থানগুলি পুনরায় কনফিগার করতে
ওপেনজেডিকে

2
উবুন্টু 64৪-বিট সবচেয়ে পরিষ্কার সমাধানে আমার পক্ষে কাজ করেছে, আমি
প্রত্যাশা

এটিই হ'ল যদি আপনি ওরাকল জাভা ব্যবহার করেন 7 এবং জেডিকে না খোলেন
জেমস কার্কবি

সর্বাধিক ভোট দেওয়া উত্তর কাজ করে তবে আপনি যখন "sudo eclipse" করেন তার জন্য নয়। এই উত্তরটি উচ্চতর, এটি সব ক্ষেত্রেই কাজ করে!
পাওয়ারেডবাইরাইস

14

আমার ক্ষেত্রে, আমি /usr/lib/jniডিরেক্টরিটি পুরোপুরি অনুপস্থিত ছিল । দ্বারা স্থির

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

এর পরে সিমলিংকের দরকার নেই। গ্রহন শুরু হয় স্বাভাবিকভাবেই।


2
জনি ইনস্টল করার পরে। আমি এই কমান্ডটি 32 বিটের জন্য ফাইলগুলি অনুলিপি করেছি: ln -s / usr / lib / jni / libswt- * ~ / .swt / lib / linux / x86 /
padman

1
আমার ক্ষেত্রে, আমার sudo apt-get ইনস্টল দরকার libswt-gtk-4-jni libswt-gtk-4-java
aleixrocks

4
লাইব্রেরি লোড করা যায় না: / home/tom/.swt/lib/linux/x86_64/libswt-gtk-3740.so
লাইব্রেরি লোড করা যায় না: / home/tom/.swt/lib/linux/x86_64/libswt-gtk.so

লাইব্রেরিগুলি .swt / lib / linux / x86_64 / এ থাকা উচিত বলে মনে হচ্ছে আপনি যদি এই আদেশটি চেষ্টা করতে পারেন:

libswt-gtk.so চিহ্নিত করুন

এটি লাইব্রেরিগুলিকে পুরো ডিরেক্টরিটি /home/tom/.swt/lib/linux/x86_64 এ অনুলিপি করা উচিত


আমি লিনাক্স bit৪ বিটে একইরকম ত্রুটির মুখোমুখি হয়েছি, আপনি কি এই প্রশ্নটি পরীক্ষা করতে পারেন, স্ট্যাকওভারফ্লো.com
হেল্পিং হ্যান্ড ..

3

আমি স্কট এর সাথে একমত, তিনি যা কাজ করেছেন তা তালিকাভুক্ত করেছেন। তবে কেবল কোনও ডিরেক্টরি থেকে এটি চালানো কার্যকর হয়নি। আমাকে / home / * /.swt/lib/linux/x86_64/ 0 ফাইলে সিডি করতে হয়েছিল

ডিরেক্টরিটি প্রথমে এবং তারপরে লিঙ্ক কমান্ডটি চালান:

32 বিটের জন্য:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86/

এবং উবুন্টুতে 12.04 64 বিট:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/


2

আপনি যদি ওরাকল জাভা ব্যবহার করে গ্রহন শুরু করেন, তবে সূর্যগ্রহণ SWT বা SVN লাইব্রেরির মতো নেটিভ লাইব্রেরিগুলি খুঁজে পেতে ব্যর্থ হতে পারে। এসডাব্লুটি-জেএনআই লাইব্রেরিগুলি / usr / lib / jni / এ অবস্থিত এবং এসভিএন-জেএনআই লাইব্রেরিগুলি / usr / lib / x86_64-linux-gnu / jni / এ অবস্থিত।

কমান্ড দিয়ে গ্রহন শুরু করার পরিবর্তে

eclipse

আপনি কমান্ডটি ব্যবহার করতে পারেন

env LD_LIBRARY_PATH=/usr/lib/jni/:/usr/lib/x86_64-linux-gnu/jni/:$LD_LIBRARY_PATH eclipse

পরিবেশের পরিবর্তনশীল এলডি_লিবিআরএইপিএটিএইচকেগ্রহণের জন্য পাস করতে। গ্রহনটি দেশীয় গ্রন্থাগারগুলি সন্ধান করবে এবং সঠিকভাবে চলবে।


এটি আমাকে এই ত্রুটিটি দেয় আমি Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option MaxPermSize; support was removed in 8.0 WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.eclipse.osgi.internal.baseadaptor.BaseStorage (file:/usr/lib/eclipse/plugins/org.eclipse.osgi_3.8.1.dist.jar) to method java.net.URLClassLoader.addURL(java.net.URL) WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.internal.baseadaptor.BaseStorage কীভাবে এটি সমাধান করব?
যোনেলা নুবা

1

যখন আমি -৪-বিট লিনাক্সের অধীনে E২-বিট বর্ধন শুরু করার চেষ্টা করেছি তখন আমি এই ত্রুটিটি পেরিয়ে এসেছি। Ia32-libs প্যাকেজ ইনস্টল করার পরে সমস্যার সমাধান হয়েছিল।


0

আপনার হোম পার্টিশনটি এক্সিকিউটেবল অনুমতি সহ মাউন্ট হয়েছে তা নিশ্চিত করুন। এটি ডিফল্ট, তবে আপনি যদি এক্সিকিউট বিকল্প ছাড়া এটি মাউন্ট করতে যান তবে আপনি এই ত্রুটিটি পাবেন।


0

সম্ভবত আরও জেনেরিক পদ্ধতিটি হ'ল:

  • ওপেনজেডকের অ-শিরোনামহীন সংস্করণ ইনস্টল করুন,
  • গ্রহনটি ইনস্টল করুন, চালান এবং বন্ধ করুন।
  • ওপেনজেডকে আনইনস্টল করুন
  • ওরাকলের জেডিকে ইনস্টল করুন

0

আমি JDK 32 বিট ইনস্টল করেছি কারণ আমি ত্রুটিগুলি পাচ্ছি। জেডিকে bit৪ বিট ইনস্টল করার পরে http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk-8u131-linux-x64.tar.gz (দয়া করে version৪ সংস্করণটি ডাউনলোড করুন) এবং ডাউনলোড করুন 64 বিট "eclipse-inst-linux64.tar.gz"।


0

লিনাক্সের জন্য উইন্ডোজ সাবসিস্টেমের জন্য (ডাব্লুএসএল) আপনার প্রয়োজন হবে

apt install libswt-gtk-4-jni

আপনার যদি ওপেনজেডকে 8 না থাকে তবে আপনারও দরকার হবে

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