भाप: साझा पुस्तकालयों को लोड करते समय त्रुटि: libGL.so.1: गलत ELF वर्ग: ELFCLASS64


11

एनवीडिया ड्राइवर इंस्टॉलेशन के बाद जब मैं स्टीम चलाने की कोशिश करता हूं तो मुझे यह त्रुटि मिल रही है:

steam: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64

मुझे यह सवाल मिला और उत्तर देने में से एक है जो स्थापित करने का सुझाव देता है:

sudo apt-get install libgl1-mesa-glx:i386

मैं पहले ही स्थापित कर चुका हूं libgl1-mesa-glx:i386। की तुलना में मैंने पाया यह । यह 32bit libGL के लिए एक सिमलिंक बनाने का सुझाव देता है। वह कैसे कर सकता है? आपके पास कोई और सुझाव है?


मैं पुष्टि कर सकता हूं, कि libgl1 लाइब्रेरी को फिर से स्थापित करने से मदद मिली। उबंटू 14.04 x86-64, डेस्कटॉप
कम्पिझ, GEForce

एक sudo aptitude install libgl1-mesa-glx:i386शो 305 पैकेज हटा दिया जाएगा, और लगभग 100 अनसुलझे हो जाएंगे। जैसा कि यह दिखता है कि यह मेरे सिस्टम को भर देगा। मुझे संदेह है कि कार्रवाई का सबसे अच्छा कोर्स 64 लाइब्रेरी और 32 बिट लाइब्रेरी के साथ दोहरी बूट उबंटू है, या बेहतर है, अधिकांश चीजों के लिए एक प्राथमिक सिस्टम, गेम के लिए एक 64 बिट इंस्टाल और एक 32 बिट इंस्टेंस 32 बिट गेम के लिए अपने स्वयं के विभाजन।
अंडर

जवाबों:


11

64-बिट सिस्टम पर यह समस्या /usr/libपहले की LD_LIBRARY_PATHतुलना में होने के कारण होती है /usr/lib32। स्टीम 64-बिट पुस्तकालयों की कोशिश करता है और शिकायत करता है, बिना किसी और को देखे।

यह तब तक तय किया जा सकता है, ~/Steam/steam.shलेकिन यह लगता है कि फ़ाइल को मूल संस्करण में बहाल किया जा सकता है जब हर बार भाप चलती है।

मैंने इसे एक स्क्रिप्ट बनाकर तय किया जो ऐसा करता है:

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH
steam $*

यह /usr/lib32लाइब्रेरी पथ पर बहती है, फिर भाप शुरू होती है (स्क्रिप्ट के मूल तर्कों के साथ)। अब /usr/lib32पहले पथ में पाया जाता है /usr/lib, और भाप 32-बिट पुस्तकालयों का सफलतापूर्वक उपयोग करेगा।

आप लाइन जोड़ना भी चाह सकते हैं

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

करने के लिए /usr/bin/steam, यह एक ही प्रभाव जब तक आप बहुत अंतिम पंक्ति पहले जोड़ने के रूप में होगा,। आपको संपादित करने के लिए sudo करने की आवश्यकता होगी /usr/lib/steam

  • इसमें जोड़ा गया बोनस है कि यह एक बेहतर फिक्स है, क्योंकि सब कुछ जो स्टीम शुरू होता है (एप्लिकेशन मेनू प्रविष्टि, फ़ाइल प्रकार संघों, यूआरआई एसोसिएशन) सही ढंग से काम करेगा।
  • नुकसान यह है कि /usr/bin/steamभाप अद्यतन होने पर ओवरराइट होने की संभावना है।

स्क्रिप्ट को बैकअप के रूप में रखते हुए, मैं बाद वाली पद्धति का उपयोग करता हूं। इस तरह, अगर /usr/bin/steamओवरराइट हो जाता है , तो मैं इसे ठीक करने के लिए स्क्रिप्ट से फिर से लाइन को कॉपी कर सकता हूं।


7

/usr/lib32एक नई फ़ाइल में जोड़कर nVidia 319.17 ड्राइवरों के साथ रिंगिंग रिंगेल (xubuntu 13.04) में इसे निर्धारित किया है :

$ sudo nano /etc/ld.so.conf.d/lib32.conf

फिर चल रहा है:

$ sudo ldconfig 

चूँकि फ़ाइल /etc/ld.so.confमें सम्‍मिलित है include /etc/ld.so.conf.d/*.conf, एक्सटेंशन वाली उस निर्देशिका की कोई भी फ़ाइल .confपार्स हो जाती है।


यह शायद अन्य उत्तरों में से किसी से बेहतर है।
टेक


2

मिंट 14 के लिए यह निर्धारित किया गया है जिसमें 32 बिट ड्राइवर समर्थन के साथ नवीनतम 64 बिट एनवीडिया ड्राइवर 310.32 के साथ स्थापित किया गया है

/emul/ia32-linux/usr/lib 

जोड़ कर

export LD_LIBRARY_PATH=/emul/ia32-linux/usr/lib:$LD_LIBRARY_PATH 

फ़ाइल "export"की शुरुआत में पहले के बाद /usr/bin/steam


, "टकसाल" का उपयोग के रूप में एक आधार के सुझाव नहीं है क्योंकि टकसाल यहाँ से Offtopic है, भले ही यह Ubuntu के व्युत्पन्न है
थॉमस वार्ड

2

मैं उसी समस्या में भाग गया, लेकिन स्काइप के साथ । ऊपर दिए गए सभी समाधान (symlinks बनाना, LD_LIBRARY_PATH को कॉन्फ़िगर करना) मेरे लिए कारगर नहीं थे।

मैंने अंत में ऊपर बताए गए पोस्ट में मदद की - लेकिन एक अलग समाधान के साथ।

ऐसा लगता है कि nvidia updater (ओपनजीएल 32-बिट संगतता पुस्तकालयों को स्थापित करने की अनुमति मांगने पर) गड़बड़ हो गया और हटा दिया गया /usr/lib/i386-linux-gnu/mesa/libGL.so.1और /usr/lib/i386-linux-gnu/mesa/libGL.so

Libgl1 लाइब्रेरी को पुनर्स्थापित करने से मदद मिली:

sudo apt-get install --reinstall libgl1-mesa-glx:i386


1

यदि आप लिनक्स सीमित बीटा के लिए स्टीम का उपयोग कर रहे हैं, तो मैं लिनक्स मंचों के लिए स्टीम पर पोस्ट करूंगा । उनके पास बेहतर मदद होनी चाहिए, और अगर यह सॉफ्टवेयर के साथ ही एक समस्या है, तो डेवलपर्स इसे ठीक करने में सक्षम होंगे। इसके अलावा, यदि आप 64-बिट OS का उपयोग कर रहे हैं, तो वहाँ बहुत सारे लोग हैं जो संभवतः आपके द्वारा की गई परेशानियों से गुज़रे हैं और इसलिए, वास्तव में जानते हैं कि क्या करना है।


0

मैं लिनक्स मिंट डेबियन संस्करण 2 64-बिट पर बिल्कुल एक ही मुद्दा था।

मैंने 32-बिट जीएल पुस्तकालयों के साथ एनवीआईडीआईए ड्राइवरों को फिर से स्थापित करके इसे हल किया (अनुरोध किए गए उन पुस्तकालयों को स्थापित करने के बाद)।

मुझे लगता है कि उन 32-बिट ग्राफिक्स पुस्तकालयों को स्थापित करने से कुछ लिंकिंग टूट गई, और उन असली 32-बिट पुस्तकालयों के साथ NVIDIA ड्राइवरों को पुनर्स्थापित करना लिंकिंग समस्या को ठीक करता है।


0

स्काइप के साथ मुझे यह समस्या थी। मैंने इसे आधिकारिक एनवीडिया ड्राइवर को फिर से स्थापित करके और स्थापना के दौरान 32 बिट संगतता पुस्तकालय स्थापित करने के द्वारा तय किया।

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