Steam: ข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libGL.so.1: คลาส ELF ผิดพลาด: ELFCLASS64


11

หลังจากติดตั้งไดรเวอร์ Nvidia เมื่อฉันพยายามเรียกใช้ Steam ฉันได้รับข้อผิดพลาดนี้:

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ผมได้ติดตั้งแล้ว กว่าที่ฉันพบนี้ มันแนะนำให้ทำการ symlink ไปที่ 32 บิต libGL จะทำเช่นนั้นได้อย่างไร คุณมีคำแนะนำอื่น ๆ หรือไม่?


ฉันสามารถยืนยันได้ว่าการติดตั้งไลบรารี libgl1 ใหม่ช่วยไม่ได้ อูบุนตู 14.04 x86-64, Compiz สก์ท็อป, ไดรเวอร์กราฟิก Nvidia Geforce GTS สำหรับ 450
hariprasad

sudo aptitude install libgl1-mesa-glx:i386แสดง 305 แพคเกจจะถูกลบออกและประมาณ 100 จะได้รับการแก้ไข ดูเหมือนว่ามันจะทำให้ระบบของฉันแย่ลงฉันสงสัยว่าแนวทางที่ดีที่สุดในการดำเนินการคือการบูตคู่ Ubuntu กับ 64 ไลบรารีและไลบรารี่ 32 บิตหรือดีกว่าระบบหลักหนึ่งระบบสำหรับทุกสิ่งติดตั้ง 64 บิตหนึ่งเกมและอินสแตนซ์ 32 บิต พาร์ติชั่นของตัวเองสำหรับเกม 32 บิต
Underverse

คำตอบ:


11

ปัญหาเกี่ยวกับระบบ 64 บิตนี้เกิดจาก/usr/libการเป็นก่อนหน้านี้ในกว่าLD_LIBRARY_PATH /usr/lib32Steam ลองใช้ไลบรารี 64 บิตและบ่นโดยไม่ต้องดูอะไรเพิ่มเติม

มันสามารถแก้ไขได้อย่างไรโดยใน~/Steam/steam.shแต่ไฟล์ที่ดูเหมือนว่าจะถูกเรียกคืนไปรุ่นเดิมทุกอบไอน้ำเวลาวิ่ง

ฉันแก้ไขได้โดยการสร้างสคริปต์ที่ทำสิ่งนี้:

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

สิ่งนี้/usr/lib32จะนำไปสู่เส้นทางของไลบรารีจากนั้นเริ่มต้นการทำงานด้วยไอน้ำ (ด้วยอาร์กิวเมนต์ดั้งเดิมของสคริปต์) ขณะนี้/usr/lib32พบได้ในเส้นทางก่อนหน้า/usr/libนี้และ Steam จะใช้ไลบรารี 32- บิตได้สำเร็จ

คุณอาจต้องการเพิ่มบรรทัด

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

เพื่อ/usr/bin/steamมันจะมีผลเหมือนกันตราบใดที่คุณเพิ่มไว้ก่อนบรรทัดสุดท้าย คุณจะต้อง sudo /usr/lib/steamที่จะแก้ไข

  • นี่เป็นโบนัสเพิ่มเติมที่แก้ไขได้ดีกว่าเนื่องจากทุกอย่างที่เริ่มต้นทำงาน (รายการเมนูแอปพลิเคชันการเชื่อมโยงประเภทไฟล์การเชื่อมโยง URI) จะทำงานได้อย่างถูกต้อง
  • ข้อเสียคือ/usr/bin/steamมีแนวโน้มที่จะถูกเขียนทับเมื่ออัพเดตไอน้ำ

ฉันใช้วิธีหลังในขณะที่เก็บสคริปต์เป็นข้อมูลสำรอง ด้วยวิธีนี้หาก/usr/bin/steamถูกเขียนทับฉันสามารถคัดลอกวางบรรทัดอีกครั้งจากสคริปต์เพื่อแก้ไข


7

แก้ไขใน raring ringtail (xubuntu 13.04) ด้วยไดรเวอร์ nVidia 319.17 โดยการเพิ่ม/usr/lib32ไฟล์ใหม่:

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

จากนั้นทำงาน:

$ sudo ldconfig 

เนื่องจากไฟล์/etc/ld.so.confมีไฟล์include /etc/ld.so.conf.d/*.confใด ๆ ในไดเรกทอรีนั้นที่มีนามสกุล.confจะถูกแยกวิเคราะห์


นี่อาจจะดีกว่าคำตอบอื่น ๆ
Tek


2

แก้ไขปัญหานี้สำหรับ Mint 14 ด้วยไดรเวอร์ Nvidia 64 บิตใหม่ล่าสุด 310.32 พร้อมการสนับสนุนไดรเวอร์ 32 บิตที่ติดตั้ง

/emul/ia32-linux/usr/lib 

โดยการเพิ่ม

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

หลังจากครั้งแรก"export"ในการเริ่มต้นของ/usr/bin/steamไฟล์


ไม่แนะนำให้ใช้ "Mint" เป็นพื้นฐานเนื่องจาก Mint ไม่น่าสนใจที่นี่แม้ว่าจะเป็นอนุพันธ์ของ Ubuntu
Thomas Ward

2

ฉันวิ่งเข้าไปในปัญหาเดียวกัน แต่ด้วยSkype โซลูชันทั้งหมดข้างต้น (การสร้าง symlink การกำหนดค่า LD_LIBRARY_PATH) ใช้ไม่ได้สำหรับฉัน

ในที่สุดฉันก็พบความช่วยเหลือในโพสต์ดังกล่าวข้างต้น - แต่ด้วยวิธีแก้ไขปัญหาที่แตกต่างกัน

ดูเหมือนว่าอัพเดท NVIDIA (เมื่อขออนุญาตในการติดตั้ง 32 บิต OpenGL ห้องสมุดความเข้ากันได้) messed up และลบออกและ/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 บิตมีผู้คนมากมายที่อาจประสบปัญหาที่คุณมีดังนั้นจึงรู้ว่าต้องทำอย่างไร


0

ฉันมีปัญหาเดียวกันกับ Linux Mint Debian Edition 2 64- บิต

ฉันแก้ไขได้โดยติดตั้งไดรเวอร์ NVIDIA อีกครั้งด้วยไลบรารี GL แบบ 32 บิต (หลังจากติดตั้งไลบรารีที่ร้องขอไว้)

ฉันแค่สมมติว่าการติดตั้งไลบรารีกราฟิกแบบ 32 บิตอื่น ๆ นั้นทำให้การเชื่อมโยงบางอย่างเสียหายและการติดตั้งไดรเวอร์ NVIDIA ใหม่ด้วยการติดตั้งไลบรารีแบบ 32 บิตจริง ๆ เหล่านั้นจะช่วยแก้ไขปัญหาการเชื่อมโยงได้


0

ฉันมีปัญหานี้กับ Skype ฉันแก้ไขโดยการติดตั้งไดรเวอร์ Nvidia อย่างเป็นทางการอีกครั้งและติดตั้งไลบรารีความเข้ากันได้ 32 บิตระหว่างการติดตั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.