Steam: error saat memuat pustaka bersama: libGL.so.1: kelas ELF salah: ELFCLASS64

11

Setelah instalasi driver Nvidia ketika saya mencoba menjalankan Steam saya mendapatkan kesalahan ini:

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

Saya menemukan pertanyaan ini dan salah satu jawaban yang menyarankan pemasangan:

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

Saya sudah menginstal libgl1-mesa-glx:i386. Daripada saya menemukan ini . Disarankan membuat symlink ke 32bit libGL. Bagaimana bisa begitu? Apakah Anda punya saran lain?

Olcay Ertaş
sumber
Saya dapat mengkonfirmasi, bahwa menginstal ulang perpustakaan libgl1 memang membantu. Ubuntu 14.04 x86-64, desktop compiz, driver grafis Nvidia untuk GEForce GTS 450.
hariprasad
A sudo aptitude install libgl1-mesa-glx:i386menunjukkan 305 paket akan dihapus, dan sekitar 100 akan tidak terselesaikan. Karena ini sepertinya akan mengisi sistem saya, saya menduga tindakan terbaik adalah dengan dual boot Ubuntu dengan 64 perpustakaan dan 32bit perpustakaan, atau lebih baik, satu sistem utama untuk banyak hal, satu 64bit instal untuk game, dan contoh 32bit pada partisi sendiri untuk game 32 bit.
Underverse

Jawaban:

11

Masalah pada sistem 64-bit ini disebabkan /usr/libkarena lebih awal LD_LIBRARY_PATHdari pada /usr/lib32. Steam mencoba perpustakaan 64-bit dan mengeluh, tanpa melihat lebih jauh.

Namun dapat diperbaiki dengan ~/Steam/steam.shtetapi file itu tampaknya dikembalikan ke versi asli setiap kali steam dijalankan.

Saya memperbaikinya dengan membuat skrip yang melakukan ini:

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

Ini mengawali /usr/lib32ke jalur perpustakaan, kemudian mulai dikukus (dengan argumen asli skrip). Sekarang /usr/lib32ditemukan di path sebelumnya /usr/lib, dan steam akan berhasil menggunakan library 32-bit.

Anda mungkin juga ingin menambahkan baris

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

untuk /usr/bin/steam, itu akan memiliki efek yang sama, selama Anda menambahkannya sebelum baris terakhir. Anda perlu sudo untuk mengedit /usr/lib/steam.

  • Ini memiliki bonus tambahan yang merupakan perbaikan yang lebih baik, karena semua yang mulai dikukus (entri menu aplikasi, asosiasi tipe file, asosiasi URI) akan berfungsi dengan benar.
  • Kerugiannya adalah bahwa /usr/bin/steamkemungkinan akan ditimpa ketika uap diperbarui.

Saya menggunakan metode terakhir, sambil menjaga skrip sebagai cadangan. Dengan begitu, jika /usr/bin/steamditimpa, saya cukup menyalin baris lagi dari skrip untuk memperbaikinya.

Terion
sumber
7

Memperbaiki ini di raring ringtail (xubuntu 13.04) dengan driver nVidia 319.17 dengan menambahkan /usr/lib32ke file baru:

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

lalu jalankan:

$ sudo ldconfig 

Karena file /etc/ld.so.confberisi include /etc/ld.so.conf.d/*.conf, file apa pun dalam direktori dengan ekstensi .confakan diuraikan.

tengkuk
sumber
Ini mungkin lebih baik daripada jawaban lainnya.
Tek
2

Memperbaiki ini untuk Mint 14 dengan driver Nvidia 64 bit 310.32 terbaru dengan dukungan driver 32bit diinstal pada

/emul/ia32-linux/usr/lib 

dengan menambahkan

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

Setelah yang pertama "export"di awal /usr/bin/steamfile.

terrigan
sumber
Menggunakan "Mint" sebagai dasar tidak disarankan, karena Mint adalah offtopic di sini, bahkan jika itu adalah turunan dari Ubuntu
Thomas Ward
2

Saya mengalami masalah yang sama, tetapi dengan skype . Semua solusi di atas (membuat symlink, mengonfigurasi LD_LIBRARY_PATH) tidak berfungsi untuk saya.

Saya akhirnya menemukan bantuan di pos yang sudah disebutkan di atas - tetapi dengan solusi yang berbeda.

Tampaknya updater nvidia (ketika meminta izin untuk menginstal pustaka kompatibilitas OpenGL 32-bit) kacau dan dihapus /usr/lib/i386-linux-gnu/mesa/libGL.so.1dan /usr/lib/i386-linux-gnu/mesa/libGL.so.

Menginstal ulang perpustakaan libgl1 memang membantu:

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

b-studio
sumber
1

Jika Anda menggunakan Steam untuk Linux beta terbatas, saya akan mempostingnya di forum Steam untuk Linux . Mereka seharusnya memiliki bantuan yang lebih baik, dan jika itu masalah dengan perangkat lunak itu sendiri, pengembang akan dapat memperbaikinya. Juga, jika Anda menggunakan OS 64-bit, ada banyak orang di sana yang mungkin telah melalui masalah yang Anda miliki, dan, oleh karena itu, tahu persis apa yang harus dilakukan.

Membumbui
sumber
0

Saya memiliki masalah yang persis sama pada Linux Mint Debian Edition 2 64-bit.

Saya mengatasinya dengan menginstal ulang driver NVIDIA dengan pustaka GL 32-bit (setelah menginstal pustaka yang diminta).

Saya hanya berasumsi bahwa menginstal pustaka grafis 32-bit lainnya memutus beberapa tautan, dan menginstal ulang driver NVIDIA dengan pustaka 32-bit nyata tersebut memperbaiki masalah tautan.

SHOTbyGUN
sumber
0

Saya punya masalah dengan Skype ini. Saya memperbaikinya dengan menginstal driver Nvidia resmi lagi dan menginstal perpustakaan kompatibilitas 32 bit selama instalasi.

Saeed Zarinfam
sumber