मैं "साझा की गई फ़ाइल फ़ाइल libudev.so.0" त्रुटि को कैसे हल कर सकता हूं?


81

उबंटू 64 पर गेम देव टाइकून चलाने की कोशिश कर रहा है । यह उपरोक्त वस्तु के लिए पूछता है।

मैं भागा sudo apt-get install libudev1:i386और यह पहले से स्थापित वापस आ गया।

मेरे पास है /lib/i386-linux-gnu/libudev.so.1लेकिन libudev.so.0कहीं भी नहीं ।


1
यह तब हुआ जब मिंट पेत्रा 16 पर पॉपकॉर्नटाइम के नए संस्करण को स्थापित करने की कोशिश की गई
igorsantos07

जवाबों:


27

64-बिट Ubuntu के लिए, यह 32-बिट libudev0 पैकेज में है।

आप निम्न आदेश के साथ इसे स्थापित कर सकते हैं:

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
फिल मजबूत

मुझे इस आदेश को दर्ज करने के लिए google-webdesigner पाने के लिए Debian 64 बिट पर स्थापित करना चाहिए
HoboBen

2
: यहाँ से पुराने संस्करण स्थापित करें packages.ubuntu.com/precise/libudev0
rubo77

पैकेज 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
sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0: 64 बिट के लिए
Pisu

10
कृपया ऐसा मत करो। यह केवल समस्याओं के लिए पूछ रहा है।
dobey

1
इसने मेरे लिए Plex Home Theatre को गड़बड़ कर दिया, libudev.so.0 सिमलिंक को हटाने के लिए और libudev0 को पुनर्स्थापित करने के लिए: i386
Johan Bjäreholt

2
32 बिट पर यह कमांड है (यदि कोई व्यक्ति यहां तक ​​पहुंचा है):sudo ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0
amit_saxena

6
डोबी को सुनो, यह एक गन्दा प्रक्रिया है। रयान क्रिच्टन ने इसे यहां करने का सही तरीका पोस्ट किया ।
बेर्बट

55

Ubuntu 14.04 और इसके बाद के संस्करण के लिए

मुझे जो सबसे आसान तरीका मिला, वह था सिर्फ .deb ( 64-बिट डाउनलोड करने के लिए सीधा लिंक और 32-बिट डाउनलोड )।

dpkg -i libudev0_175-0ubuntu9_amd64.deb

पिछले संस्करणों के लिए

Ubuntu के पिछले संस्करण में यह पैकेज आधिकारिक रिपॉजिटरी में उपलब्ध था। आप निम्नलिखित के साथ स्थापित कर सकते हैं:

sudo apt-get install libudev0:i386

17
यह सही जवाब है । यदि कोई पैकेज अनुपलब्ध है, तो आप पैकेज स्थापित करते हैं ... क्या यह सरल है। लिंक बनाना, हेक्स-संपादन नाम, Google क्रोम को फिर से जोड़ना, सीपीयू को हथौड़ा देना और मिर्च पाउडर को छीनना वास्तविक समाधान नहीं हैं।
बेर्बट

2
लेकिन यह केवल तभी काम करता है जब वह पैकेज उपलब्ध हो।
तमिसिन माइकल

1
@ टैमसिनमाइकल पैकेज रिपॉजिटरी में उपलब्ध होने की जरूरत नहीं है, आप इसे ऊपर दिए गए लिंक से डाउनलोड कर सकते हैं और फिर इसे ubuntu संस्करणों पर मैन्युअल रूप से इंस्टॉल कर सकते हैं, जिनके आधिकारिक रिपॉजिटरी में पैकेज उपलब्ध नहीं है।
रयान क्रिक्टन

यह सही उत्तर होना चाहिए! यह उचित फिक्स है, कोई गन्दा सहानुभूति या जो भी
लॉर्ड-राल्फ़-एडोल्फ

यह सबसे आसान तरीका है जो मैं पा सकता हूं। रिपोजिटरी में पुरानी निर्भरता को जोड़ना एक दर्द है
डेन्नी

32

मुझे एक अलग कार्यक्रम के लिए एक ही समस्या थी, लेकिन शॉन के स्वीकृत जवाब ने मुझे बिल्कुल मदद नहीं की। 64-बिट 13.04 की मेरी उन्नत स्थापना पर, libudev0 64-बिट फॉर्म या i386 फॉर्म में उपलब्ध नहीं है। और ia32-lib पहले से स्थापित है। तो कोई पासा नहीं।

मुझे जो करना था वह थोड़ा संशोधित संस्करण सेंसहिकेज़ का अधिक तकनीकी समाधान था। मैंने मैन्युअल रूप से libudev.so.0 को x86_64 के कार्यकारी निर्देशिका में libudev.so.1 से सीमांकित किया, इस प्रकार:

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

इसने मेरे लिए इसे ठीक कर दिया।


यह मेरे लिए भी तय - Ubuntu 15.04 64 बिट चल रहा है। बहुत बहुत धन्यवाद।
तमिसिन माइकल

उबंटू 19.04 पर निर्धारित
अलेक्जेंडर हेरोल्डो दा रोचा

5

यह त्रुटि तब हो सकती है जब नोड वेबकिट से nw निष्पादन योग्य का उपयोग करने का प्रयास किया जा रहा है । ऐशे ही:

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

कैसे हल करें:

  1. हेक्स संपादक प्राप्त करें जो आपको बाइनरी के एएससीआईआई स्ट्रिंग को बदलने की अनुमति देता है, जैसे। षोडशोपचार :

    • टर्मिनल ( 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.01libudev.so.1
    • स्ट्रिंग 0में चयन करने के लिए तीर कुंजियों का उपयोग करें libudev.so.0
    • 1कीबोर्ड पर प्रेस करें।
  6. परिवर्तन से बाहर निकलें और सहेजें।
    • Ctrl+ दबाएं X
    • Yपरिवर्तनों को सहेजने के लिए दबाएं ।

हो गया। यह भी nw के बजाय hex संपादन Atraci फ़ाइल को छोड़कर एक ही निर्देश का पालन करते हुए Atraci बाइनरी के साथ समस्या को हल करता है।


2
cat nw | sed s/libudev.so.0/libudev.so.1/ > fixed_nw, chmod a+x fixed_nwऔर फिर आप इसे चला सकते हैं, कुछ भी स्थापित करने की आवश्यकता नहीं है
कैटलिस्ट

4

यहां एकमात्र उत्तर जो Ubuntu 14.04 पर काम करता है, वह स्वीकृत उत्तर है, और चूंकि कई टिप्पणियां इंगित करती हैं कि यह सड़क के नीचे सिस्टम के साथ समस्याएँ पैदा कर सकता है (हालांकि मुझे खुद इसके बारे में नहीं पता है) मैं एक समझौता के साथ आया था। यह स्क्रिप्ट आपके रूट पासवर्ड के लिए (टर्मिनल में) संकेत देगा। यह प्रतीकात्मक लिंक बनाएगा और एप्लिकेशन लॉन्च करेगा (मेरे मामले में, पॉपकॉर्न समय)। जब आप आवेदन छोड़ देते हैं, तो यह प्रतीकात्मक लिंक को हटाने के लिए मौजूदा sudo सत्र का उपयोग करेगा:

#!/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

मुझे यह विचार पसंद है, हालांकि मुझे आश्चर्य है कि अगर इसके बजाय LD_LIBRARY पर्यावरण चर का उपयोग करने का कोई तरीका है।
फ्लिम

@ मुझे पता है, आप कैसे प्राप्त करते हैं।
TenLeftFingers

1
मैंने इस जवाब के बजाय जाना समाप्त कर दिया।
फ्लिम

4

मुझे इस काम को करने का एक तरीका मिला, हालांकि बहुत मूर्खतापूर्ण है।

मेरे पास Google Chrome मेरे सिस्टम पर स्थापित है और Chrome के पास यह साझा ऑब्जेक्ट एम्बेडेड है। इसलिए, मुझे बस Chrome इंस्टॉलेशन डायरेक्टरी पर लाइब्रेरी का एक प्रतीकात्मक लिंक बनाना था।

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

यह मेरे लिए बहुत अच्छा काम करता है।



2

के रूप में फिल मजबूत बताया

इंस्टॉल करें I 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 बिट Ubuntu 15.04 पर एक ही समस्या को हल करने के लिए उपयोग किया था।

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

0

UPDATE मैंने उस प्रोग्राम के चारों ओर रैप करने के लिए एक बैश स्क्रिप्ट बनाई जिसे आप निष्पादित करना चाहते हैं। आप इसे अपने स्थानीय बिन फ़ोल्डर में जोड़ सकते हैं और सिर्फ शेल स्क्रिप्ट की कॉपी और पेस्ट या रनिंग के बिना ही कार्यक्रम शुरू कर सकते हैं।

#!/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 

OLD ANSWER उबंटू 14.04 में मुझे लाइव पूर्वावलोकन (क्रोमियम) का उपयोग करने की कोशिश करते समय डार्ट संपादक से त्रुटि संदेश मिल रहा था। त्रुटि libudev1 को स्थापित करके और एक प्रतीकात्मक लिंक बनाकर हल की गई थी ।

    sudo apt-get install libudev1

मैंने DartEditor को निष्पादित करने के लिए TenLeftFingers द्वारा उपर्युक्त स्क्रिप्ट का भी उपयोग किया।

    #!/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

यदि Dart Editor यह सुनिश्चित नहीं करता है कि JAVA स्थापित है और यह अनुमति नहीं है।

    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

Xubuntu Precise से Trusty में अपग्रेड करने के बाद मुझे अपने 32-बिट सिस्टम पर वही त्रुटि मिल रही थी। यह मेरे लिए यह तय:

sudo dpkg-reconfigure google-chrome-stable

मैंने इसे यहां पाया । बिल्कुल किसी भी पैरामीटर के साथ, मुझे पूरा यकीन नहीं है कि यह कैसे तय हुआ, लेकिन यह किया। मुझे जो सबसे अच्छा लगा, वह यह है कि ऐसा कुछ भी करने की आवश्यकता नहीं है जो संभावित रूप से मेरे लिए भविष्य में समस्या पैदा करेगा, और मुझे किसी भी पैकेज का शिकार करने की आवश्यकता नहीं है।


-1

अगर कोई इस पेज पर libudev.so.0 और Emotiv Epoc SDK Dev Edition पर Ubuntu के लिए वेब खोदते समय इस पेज पर ठोकर खाता है, तो मुझे उम्मीद है कि निम्नलिखित मदद करेगा:

// मेरा कॉन्फिगरेशन 64bit Ubuntu 13.04 है

64-बिट सिस्टम के लिए:

सुडो ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.1

सुडो ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0

साझा लाइब्रेरी लोड करते समय "त्रुटि को रोकने के लिए क्या अनुमति देता है: libudev.so.0: गलत ELF वर्ग: ELFCLCL32"

सुडो ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/libudev.so.0

32-बिट सिस्टम के लिए:

सुडो ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.1

सुडो ln -sf /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

साझा लाइब्रेरी लोड करते समय "त्रुटि को रोकने के लिए क्या अनुमति देता है: libudev.so.0: गलत ELF वर्ग: ELFCLASS64" (ध्यान दें कि यह एक अनुमान है, मैं 64 बिट सिस्टम पर हूं)

सुडो ln -sf /lib/i386-linux-gnu/libudev.so.1/usr/lib/libudev.so.0

EmotivControlPanel, EmoKey, EmoComposer, जावा उदाहरण और थोड़ा अनुकूलित Qt उदाहरण ऊपर करने के बाद tu चलाने में सक्षम होना चाहिए (मैं पहले से ही ऊपर दिए गए सभी चरणों की कोशिश कर चुका हूं + वेब पर पाए गए अन्य + (स्टैक एक्सफ़्लो, ..), लेकिन कोई भी काम नहीं कर रहा था मेरे लिए, इसलिए मैंने कुछ "कोशिश और त्रुटियों" के बाद ऐसा किया है

पिछले नहीं बल्कि कम से कम, अगर किसी को पता है कि 64 बिट सिस्टम पर 32 बिट के खिलाफ संकलित कार्यक्रम कैसे चलाना है?

अधिक सटीक रूप से, उन लोगों के लिए जो जानते हैं कि मैं किस बारे में बात कर रहा हूं, मैं अपने 64 बिट सिस्टम पर "इमो क्यूब" और "ब्लूअवतार" क्यूटी उदाहरण कैसे चलाऊंगा?

-> मैंने अब तक जो भी कोशिश की है, उसके लिए मैं सबसे अधिक हो सकता था: "साझा पुस्तकालयों को लोड करते समय त्रुटि: libedk.so.1: गलत ELF वर्ग: ELFCLASS64"

मुझे लगता है कि i386 डायरेक्टरी में उस काम के लिए एक सहिष्णुता इसे नहीं बनाएगी (हालांकि मैंने इसे अभी तक करने की कोशिश नहीं की है), इसलिए अगर किसी के पास इसका जवाब है ... तो मैं इसे पढ़ने के लिए उत्सुक हूं।

सभी चियर्स +


-4

इन आदेशों को टर्मिनल में चलाएं:

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

इससे मुझे मदद मिली है


cd / lib / x86_64-linux-gnu / sudo cp libudev.so.0.13.0 libudev.so.1
user214274
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.