আমি কীভাবে একটি "ভাগ করা অবজেক্ট ফাইল libudev.so.0.0 খুলতে পারি না" ত্রুটিটি সমাধান করব?


81

উবুন্টু Game৪ তে গেম ডেভ টাইকুন চালানোর চেষ্টা করছেন It এটি উপরের বিষয়টির জন্য জিজ্ঞাসা করে।

আমি দৌড়ে sudo apt-get install libudev1:i386এসেছি এবং এটি ইতিমধ্যে ইনস্টল ফিরে এসেছিল।

আমার /lib/i386-linux-gnu/libudev.so.1কিন্তু libudev.so.0কোথাও নেই।


1
মিন্ট পেট্রা 16
igorsantos07

উত্তর:


27

-৪-বিট উবুন্টুর জন্য, এটি 32-বিট লাইবুদেভ0 প্যাকেজে রয়েছে।

আপনি নিম্নলিখিত কমান্ড দিয়ে এটি ইনস্টল করতে পারেন:

sudo apt-get install libudev0:i386

এই প্যাকেজটি উবুন্টু থেকে 14.04-এ সরানো হয়েছে। আপনার এটি পুরানো সংস্করণ থেকে ইনস্টল করতে হবে।


3
libudev0: i386 কোনও ধারণার সন্ধান করার সময় কোনও প্যাকেজ পাওয়া গেল না?
জোনাথন

26
আমি sudo apt-get libudev1: i386 ইনস্টল করে শেষ করেছি এবং তারপরে sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
ফিল স্ট্রং


2
দয়া করে এখান থেকে পুরানো সংস্করণটি ইনস্টল করুন: প্যাকেজস.উবুন্টু
প্রিপিসি

প্যাকেজ libudev0 উপলব্ধ নেই, তবে অন্য প্যাকেজ দ্বারা উল্লেখ করা হয়। এর অর্থ এই হতে পারে যে প্যাকেজটি অনুপস্থিত, অপ্রচলিত হয়েছে, বা কেবল অন্য উত্স থেকে পাওয়া গেছে
অ্যারন ফ্রাঁক

199

ঠিক করার জন্য, আমি লিঙ্ক libudev.so.1থেকে libudev.so.0:

sudo ln -sf /lib/$(arch)-linux-gnu/libudev.so.1 /lib/$(arch)-linux-gnu/libudev.so.0

25
64 বিটের জন্য: sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0
পিসু

10
এই কোরো না প্লিজ। এটি কেবল সমস্যা জিজ্ঞাসা করছে।
dobey

1
Libudev.so.0 সিমিলিঙ্কটি সরিয়ে পুনরায় ইনস্টল করতে এবং libudev0: i386 পুনরায় ইনস্টল করার জন্য এটি আমার জন্য প্ল্লেক্স হোম থিয়েটারটি জগাখিচুড়ি করেছে: i386
জোহান বিজারহোল্ট

2
32 বিট এ এই আদেশটি (যদি কেউ এখানে পৌঁছে যায়):sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
amit_saxena

6
দোবে শুনুন, এটি একটি অগোছালো পদ্ধতি। রায়ান ক্রিচটন এটি করার সঠিক উপায় এখানে পোস্ট করেছেন ।
berbt

55

উবুন্টু 14.04 এবং উপরে জন্য

সবচেয়ে সহজ পদ্ধতিটি আমি খুঁজে পেলাম কেবলমাত্র .deb ( link৪- বিট ডাউনলোডের সরাসরি লিঙ্ক এবং ৩২-বিট ডাউনলোডের জন্য ) এবং এটি ইনস্টল করতে এটিতে ডাবল ক্লিক করুন বা এটি ইনস্টল করতে dpkg ব্যবহার করুন:

dpkg -i libudev0_175-0ubuntu9_amd64.deb

পূর্ববর্তী সংস্করণগুলির জন্য

উবুন্টুর পূর্ববর্তী সংস্করণে এই প্যাকেজটি সরকারী সংগ্রহস্থলগুলিতে উপলব্ধ ছিল। আপনি নিম্নলিখিতটি দিয়ে ইনস্টল করতে পারেন:

sudo apt-get install libudev0:i386

17
এটি সঠিক উত্তর । যদি কোনও প্যাকেজ অনুপস্থিত থাকে তবে আপনি প্যাকেজটি ইনস্টল করুন ... এটাই কি সহজ। লিঙ্ক তৈরি করা, হেক্স-সম্পাদনার নাম, গুগল ক্রোমকে পুনরায় কনফিগার করা, সিপিইউতে হাতুড়ি দেওয়া এবং মরিচের গুঁড়ো ছিটিয়ে দেওয়া বাস্তব সমাধান নয়।
বার্বট

2
তবে কেবলমাত্র সেই প্যাকেজটি উপলব্ধ থাকলে তা কাজ করে।
তামসিন মাইকেল

1
@ ট্যামসিনমিশেল প্যাকেজটি সংগ্রহস্থলগুলিতে উপলব্ধ থাকতে হবে না, আপনি উপরের লিঙ্কটি থেকে এটি ডাউনলোড করতে পারেন এবং তারপরে ওবুন্টু সংস্করণগুলিতে ম্যানুয়ালি এটি ইনস্টল করতে পারেন যার প্যাকেজটি তাদের সরকারী সংগ্রহস্থলগুলিতে উপলব্ধ নেই।
রায়ান ক্রিকটন

এটি সঠিক উত্তর হওয়া উচিত! এটি যথাযথ সমাধান, কোনও অগোছালো প্রতিলিপি বা যা কিছু নেই
লর্ড-রাল্ফ-অ্যাডল্ফ

এটি সবচেয়ে সহজ পদ্ধতি যা আমি খুঁজে পেতে পারি। সংগ্রহস্থলে পুরানো নির্ভরতা যুক্ত করা একটি ব্যথা
ডেনি

32

ভিন্ন প্রোগ্রামের জন্য আমার একই সমস্যা ছিল, তবে শানের গৃহীত উত্তর আমাকে মোটেও উপকার করতে পারেনি। আমার 64-বিট 13.04-এর আপগ্রেড ইনস্টলটিতে, libudev0 হয় 64-বিট ফর্ম বা i386 ফর্মে উপলভ্য নয়। এবং ia32-libs ইতিমধ্যে ইনস্টল করা আছে। সুতরাং কোন পাশা।

আমাকে যা করতে হয়েছিল তা হ'ল সংক্ষিপ্তসারিত সংস্করণ সেনশিকাজের আরও প্রযুক্তিগত সমাধান। আমি x86_64 লাইব ডিরেক্টরিতে ম্যানুয়ালি libudev.so.0 থেকে libudev.so.1 এর সাথে সিমলিঙ্ক করেছি, এভাবে:

cd /lib/x86_64-linux-gnu/
sudo ln -sf libudev.so.1 libudev.so.0

এটি আমার জন্য এটি স্থির করে দিয়েছে।


এটি আমার জন্য এটিও স্থির করে - উবুন্টু 15.04 64 বিট চালাচ্ছে। একটি গুচ্ছ ধন্যবাদ।
তামসিন মাইকেল


5

যখন ব্যবহার করার চেষ্টা করার সময় এই ত্রুটিটি ঘটতে পারে NW থেকে এক্সিকিউটেবল নোড ওয়েবকিট । এটার মত:

./nw: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory

কীভাবে সমাধান করব:

  1. হেক্স সম্পাদক পান যা আপনাকে বাইনারিগুলির ASCII স্ট্রিং পরিবর্তন করতে দেয়, যেমন। হেক্সিডিট :

    • টার্মিনাল (ইন Ctrl+ + Alt+ + T), সঞ্চালন করুন: sudo apt-get install hexedit
    • টার্মিনালে উপস্থাপিত নির্দেশাবলী অনুসরণ করুন (প্রয়োজনে পাসওয়ার্ড টাইপ করুন, ইনস্টলটি নিশ্চিত করুন)।
  2. নোড ওয়েবকিট সহ ডিরেক্টরিতে যান :
    • আমার ক্ষেত্রে ইন: cd ~/Dokumenty/node-webkit-*
  3. এর আগে হেক্স সম্পাদক কমান্ড ব্যবহার করে এনডব্লিউ বাইনারি খুলুন sudo:
    • চালান: sudo hexedit nw
  4. libudev.so.0ASCII স্ট্রিং হিসাবে অনুসন্ধান করুন :
    • হেক্সিডিট ব্যবহার করা হলে : টিপুন Tab
    • চাপুন Ctrl+ S
    • টাইপ করুন: libudev.so.0
  5. পরিবর্তন 0মধ্যে libudev.so.0স্ট্রিং 1, তাই এটি হয়ে: libudev.so.1:
    • নির্দেশক তীরচিহ্নগুলি ব্যবহার করুন নির্বাচন করতে 0libudev.so.0পংক্তি।
    • 1কীবোর্ডে টিপুন ।
  6. প্রস্থান এবং প্রস্থান পরিবর্তনগুলি।
    • চাপুন Ctrl+ X
    • Yপরিবর্তনগুলি সংরক্ষণ করতে টিপুন ।

তুমি করেছ. এনডাব্লু এর পরিবর্তে হেক্স হ'ল সম্পাদনা অ্যাট্রেসি ফাইল ব্যতীত একই নির্দেশাবলী অনুসরণ করে এটি অ্যাট্রাসি বাইনারি নিয়ে সমস্যাও সমাধান করে।


2
cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw, chmod a+x fixed_nwএবং তারপরে আপনি এটিকে চালাতে পারবেন, কিছু ইনস্টল করার দরকার নেই
অনুঘটক

4

এখানে উবুন্টু ১৪.০৪-তে কাজ করা একমাত্র উত্তর হ'ল গ্রহণযোগ্য উত্তর, এবং যেহেতু অনেক মন্তব্য উল্লেখ করেছেন যে এটি সিস্টেমের সাথে রাস্তায় নামার কারণ হতে পারে (যদিও আমি নিজের সম্পর্কে এটি জানি না) আমি একটি আপস করে এসেছি। এই স্ক্রিপ্টটি আপনার রুট পাসওয়ার্ডের জন্য অনুরোধ করবে (টার্মিনালে)। এটি প্রতীকী লিঙ্ক তৈরি করবে এবং অ্যাপ্লিকেশনটি চালু করবে (আমার ক্ষেত্রে, পপকর্নের সময়)। আপনি যখন অ্যাপ্লিকেশনটি প্রস্থান করবেন, এটি প্রতীকী লিঙ্কটি সরাতে বিদ্যমান সুডো সেশনটি ব্যবহার করবে:

#!/bin/sh
sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
./Popcorn-Time #replace this line with the path to the executable you want to launch
sudo rm /lib/i386-linux-gnu/libudev.so.0

আমি এই ধারণাটি পছন্দ করি, যদিও আমি ভাবছি যে এর পরিবর্তে এলডি_লিবারি পরিবেশ পরিবর্তনশীল ব্যবহার করার কোনও উপায় আছে কিনা।
ফ্লাইম

@ ফ্লিম, আপনি কীভাবে যাবেন তা আমাকে জানান।
টেন লেফটফিনজারগুলি 13

1
পরিবর্তে আমি এই উত্তরটি দিয়ে চলেছি ।
ফ্লিম

4

আমি এই কাজটি করার একটি উপায় খুঁজে পেয়েছি, যদিও এটি নির্বাক।

আমি আমার সিস্টেমে গুগল ক্রোম ইনস্টল করেছি এবং ক্রোমে এই ভাগ করা বস্তু এম্বেড করা আছে। সুতরাং, আমাকে কেবল ক্রোম ইনস্টলেশন ডিরেক্টরিতে লাইব্রেরিতে একটি প্রতীকী লিঙ্ক তৈরি করতে হয়েছিল।

ln -sf /opt/google/chrome/libudev.so.0 /lib/x86_64-linux-gnu/libudev.so.0

এটা আমার জন্য বেশ সূক্ষ্ম কাজ করে।



2

ফিল স্ট্রং হিসাবে চিহ্নিত

ইনস্টল libudev.so.1

sudo apt-get install libudev1:i386

তারপরে এটি লিঙ্ক করুন libudev.so.0

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

1

আমি এটি 14.04 এ করেছি, তবে একই রকম হওয়া উচিত। কেবল প্যাকেজটি মুছুন এবং পুনরায় ইনস্টল করুন। সঠিক গ্রন্থাগারগুলি যথাযথভাবে ইনস্টল করা আছে।

apt-get purge google-chrome-stable
apt-get install google-chrome-stable

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


1

এটিই আমি 32 বিট উবুন্টু 15.04 তে একই সমস্যাটি সমাধান করতে ব্যবহার করেছি।

cd i386-linux-gnu
sudo ln -sf libudev.so.1 libudev.so.0

0

আপডেট আপনি যে প্রোগ্রামটি কার্যকর করতে চান তার চারপাশে মোড়ানোর জন্য আমি একটি বাশ স্ক্রিপ্ট তৈরি করেছি। আপনি এটিকে আপনার স্থানীয় বিন ফোল্ডারে যুক্ত করতে পারেন এবং অনুলিপি এবং আটকানো বা শেল স্ক্রিপ্টগুলি চালনা না করেই প্রোগ্রাম শুরু করতে পারেন।

#!/bin/bash

ProgramToExecute="/PATH/TO/PROGRAM" #Example: $HOME/dart/./DartEditor

system=$(uname -m) #Returns x86_64 on 64 bit systems
libdir="/lib/$system-linux-gnu"
libudev1="$libdir/libudev.so.1"

if [ ! -f $libudev1 ]
then
        #check if an i386 folder exist because ' uname -m' returns i686 instead of i386.
        libdir="/lib/i386-linux-gnu"
        libudev1="$libdir/libudev.so.1"
        #if none of the lookups return a file, this script exits,
        BreakUpNotice="This $libudev1 isn't working out. It's not you
        it's me. Or maybe you forgot to install libudev1 library.
        sudo apt-get install libudev1 "

        [ ! -f $libudev1 ] && echo $BreakUpNotice  && exit 0
fi

libudev0="$libdir/libudev.so.0"

echo "$libudev1 found."
sudo ln -sf $libudev1 $libudev0
sudo -k #revoke sudo 
$($ProgramToExecute)

NoticeAfterExec="Enter sudo to del libudev link (recommended) or press CTRL+C to cancel."
RmSuccess="And $libudev0 link is gone."
RmFailed="Whaat? $libudev0 still exists."

echo $NoticeAfterExec
sudo rm $libudev0
sudo -k
[ ! -f "$libudev0" ]  && echo $RmSuccess || echo $RmFailed
exit 

ওবুন্টুতে পুরানো উত্তর 14.04 লাইভ পূর্বরূপ (ক্রোমিয়াম) ব্যবহার করার চেষ্টা করার সময় আমি ডার্ট সম্পাদক থেকে ত্রুটি বার্তা পাচ্ছিলাম। Libudev1 ইনস্টল করে এবং একটি প্রতীকী লিঙ্ক তৈরি করে ত্রুটিটি সমাধান করা হয়েছিল ।

    sudo apt-get install libudev1

আমি ডার্টএডিটর সম্পাদন করতে টেন লেফটফিনজার দ্বারা উল্লিখিত স্ক্রিপ্টটিও ব্যবহার করেছি।

    #!/bin/sh
    sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
    ./DartEditor
    sudo rm /lib/i386-linux-gnu/libudev.so.0

যদি ডার্ট এডিটর কার্যকর না করে তা নিশ্চিত করুন যে জাএভিএ ইনস্টল করা আছে এবং এটি কোনও অনুমতির সমস্যা নয়।

    sudo apt-get install python-software-properties
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer

এবং আইডিই কার্যকর করা যায়:

    sudo chmod a+x ./DartEditor

এটি আমার পক্ষে কাজ করেছে।


0

জুবুন্টু প্রিসেস থেকে ট্রাস্টিতে আপগ্রেড করার পরে আমি আমার 32-বিট সিস্টেমে একই ত্রুটি পেয়েছিলাম। এটি আমার জন্য এটি স্থির করে:

sudo dpkg-reconfigure google-chrome-stable

আমি এটি এখানে খুঁজে পেয়েছি । একেবারে কোনও পরামিতি ছাড়াই, আমি এটি নিশ্চিত করেছিলাম যে এটি কীভাবে এটি স্থির করে, তবে এটি কার্যকর হয়েছিল। আমি যে বিষয়টি সবচেয়ে ভাল পছন্দ করেছি তা হ'ল এটির জন্য এমন কিছু করার দরকার পড়েনি যা ভবিষ্যতে আমার জন্য সম্ভাব্য সমস্যা সৃষ্টি করবে এবং আমাকে কোনও প্যাকেজ শিকার করার দরকার পড়েনি।


-1

Libudev.so.0 এবং উবুন্টুতে ইমোটিভ এপোক এসডিকে ডেভ সংস্করণে ফিক্সগুলির জন্য ওয়েব খননের সময় যদি কেউ এই পৃষ্ঠাতে হোঁচট খায় তবে আমি আশা করি যে নিম্নলিখিতটি সাহায্য করবে:

// আমার কনফিগারেশনটি 64 বিট উবুন্টু 13.04

একটি 64-বিট সিস্টেমের জন্য:

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1। /lib/x86_64-linux-gnu/libudev.so.1

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

"ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটি রোধ করতে কী অনুমতি দেয়: libudev.so.0: ভুল ELF বর্গ: ELFCLASS32"

sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0

একটি 32-বিট সিস্টেমের জন্য:

sudo ln -sf /lib/i386-linux-gnu/libudev.so.1। /lib/i386-linux-gnu/libudev.so.1

sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

"ভাগ করা লাইব্রেরিগুলি লোড করার সময় ত্রুটিটি রোধ করতে কী অনুমতি দেয়: libudev.so.0: ভুল ELF বর্গ: ELFCLASS64" (নোট এটি অনুমান করুন, আমি একটি 64 বিট সিস্টেমে আছি)

sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0

ইমোটিভকন্ট্রোলপ্যানেল, ইমোকি, ইমো কমপোজার, জাভা উদাহরণগুলি এবং সামান্য কাস্টমাইজড Qt উদাহরণগুলি উপরের কাজগুলি করার পরে চালানো উচিত (আমি ইতিমধ্যে উপরের সমস্ত পদক্ষেপগুলি চেষ্টা করেছি + অন্যরা ওয়েবে পাওয়া গেছে (স্ট্যাক ওভারফ্লো, ..), কিন্তু কোনওটিই কাজ করছে না আমার জন্য, তাই আমি কিছু "চেষ্টা ও ত্রুটি" পরে শেষ করেছিলাম

সর্বশেষে তবে তা না, এখানে যদি কেউ জানতে পারে যে 64 বিট সিস্টেমে 32 বিট লিবের বিরুদ্ধে সংকলিত প্রোগ্রামগুলি কীভাবে চালিত করতে হবে তবে কোনও অনুমোদিত 3 আরডি পার্টির 32 বিট লাইব্রেরি ব্যবহারের জন্য নির্দিষ্টকরণ করা উচিত?

আরও স্পষ্টভাবে, যারা জানেন আমি কী বিষয়ে কথা বলছি, আমি কীভাবে আমার 64 বিট সিস্টেমে "ইমোকিউব" এবং "ব্লুঅভাতার" কিউটি উদাহরণ চালাব?

-> আমি এ পর্যন্ত যা চেষ্টা করেছি তার জন্য আমি সবচেয়ে বেশি পেতাম: "শেয়ার্ড লাইব্রেরি লোড করার সময় ত্রুটি: libedk.so.1: ভুল ইএলএফ শ্রেণি: ELFCLASS64"

আমি অনুমান করি যে i386 ডিরেক্টরিতে এই লিবিতে একটি সিমিলিংক এটি তৈরি করবে না (যদিও আমি এখনও এটি চেষ্টা করি নি), সুতরাং কারও যদি উত্তর থাকে ... আমি এটি পড়ার অপেক্ষায় রয়েছি।

সবাইকে চিয়ার্স করুন


-4

টার্মিনালে এই কমান্ডগুলি চালান:

cd /lib/x86_64-linux-gnu/
sudo cp libudev.so.0.13.0 libudev.so.1

এটি আমাকে সাহায্য করেছে


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