Steam: lỗi trong khi tải các thư viện chia sẻ: libGL.so.1: sai lớp ELF: ELFCLASS64


10

Sau khi cài đặt trình điều khiển Nvidia khi tôi cố chạy Steam, tôi gặp lỗi này:

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

Tôi tìm thấy câu hỏi này và một trong những câu trả lời đề nghị cài đặt:

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

Tôi đã cài đặt rồi libgl1-mesa-glx:i386. Hơn tôi tìm thấy điều này . Nó gợi ý tạo symlink tới libGL 32 bit. Làm thế nào có thể làm điều đó? Bạn có bất cứ lời đề nghị khác?


Tôi có thể xác nhận rằng việc cài đặt lại thư viện libgl1 đã giúp ích. Ubuntu 14.04 x86-64, máy tính để bàn, trình điều khiển đồ họa Nvidia cho GEForce GTS 450.
hariprasad

Một sudo aptitude install libgl1-mesa-glx:i386chương trình cho thấy 305 gói sẽ bị xóa và khoảng 100 gói sẽ không được giải quyết. Vì điều này có vẻ như sẽ làm hỏng hệ thống của tôi, tôi nghi ngờ cách hành động tốt nhất là khởi động kép Ubuntu với 64 thư viện và thư viện 32 bit, hoặc tốt hơn, một hệ thống chính cho hầu hết mọi thứ, một cài đặt 64 bit cho trò chơi và phiên bản 32 bit trên phân vùng riêng của nó cho các trò chơi 32 bit.
Đánh giá thấp

Câu trả lời:


11

Vấn đề này trên các hệ thống 64 bit là do /usr/libsớm LD_LIBRARY_PATHhơn /usr/lib32. Steam thử các thư viện 64 bit và phàn nàn, mà không tìm kiếm thêm.

Tuy nhiên, nó có thể được sửa ~/Steam/steam.shnhưng tập tin đó dường như được khôi phục về phiên bản gốc mỗi khi chạy hơi nước.

Tôi đã sửa nó bằng cách tạo một tập lệnh thực hiện điều này:

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

Điều này chuẩn bị /usr/lib32cho đường dẫn thư viện, sau đó bắt đầu steam (với các đối số ban đầu của tập lệnh). Bây giờ /usr/lib32được tìm thấy trong đường dẫn trước đó /usr/libvà steam sẽ sử dụng thành công các thư viện 32 bit.

Bạn cũng có thể muốn thêm dòng

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

đến /usr/bin/steam, nó sẽ có tác dụng tương tự, miễn là bạn thêm nó trước dòng cuối cùng. Bạn sẽ cần sudo để chỉnh sửa /usr/lib/steam.

  • Điều này có phần thưởng bổ sung rằng đó là một sửa chữa tốt hơn, vì mọi thứ bắt đầu hơi nước (mục trình đơn ứng dụng, liên kết loại tệp, liên kết URI) sẽ hoạt động chính xác.
  • Nhược điểm là /usr/bin/steamcó khả năng bị ghi đè khi cập nhật hơi nước.

Tôi sử dụng phương thức sau, trong khi giữ tập lệnh như một bản sao lưu. Bằng cách đó, nếu /usr/bin/steambị ghi đè, tôi chỉ cần sao chép lại dán dòng từ tập lệnh để sửa nó.


7

Đã sửa lỗi này trong ringtail hiếm (xubfox 13.04) với trình điều khiển nVidia 319.17 bằng cách thêm /usr/lib32vào một tệp mới:

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

sau đó chạy:

$ sudo ldconfig 

Vì tệp /etc/ld.so.confchứa include /etc/ld.so.conf.d/*.conf, bất kỳ tệp nào trong thư mục có phần mở rộng .confđều được phân tích cú pháp.


Điều này có lẽ tốt hơn bất kỳ câu trả lời khác.
Tek


2

Đã sửa lỗi này cho Mint 14 với trình điều khiển Nvidia 64 bit mới nhất 310.32 với hỗ trợ trình điều khiển 32 bit được cài đặt trong

/emul/ia32-linux/usr/lib 

bằng cách thêm

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

Sau lần đầu tiên "export"vào đầu /usr/bin/steamtập tin.


Sử dụng "Mint" làm cơ sở không được đề xuất, vì Mint không chính thức ở đây, ngay cả khi nó là một dẫn xuất của Ubuntu
Thomas Ward

2

Tôi gặp vấn đề tương tự, nhưng với skype . Tất cả các giải pháp ở trên (tạo liên kết tượng trưng, ​​định cấu hình LD_LIBRARY_PATH) không phù hợp với tôi.

Cuối cùng tôi đã tìm thấy sự giúp đỡ trong bài viết đã được đề cập ở trên - nhưng với một giải pháp khác.

Có vẻ như trình cập nhật nvidia (khi yêu cầu cấp phép cài đặt thư viện tương thích OpenGL 32 bit) đã bị rối và gỡ bỏ /usr/lib/i386-linux-gnu/mesa/libGL.so.1/usr/lib/i386-linux-gnu/mesa/libGL.so.

Cài đặt lại thư viện libgl1 đã giúp:

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


1

Nếu bạn đang sử dụng phiên bản beta giới hạn của Steam cho Linux, tôi sẽ đăng nó trên diễn đàn Steam cho Linux . Họ nên có sự trợ giúp tốt hơn và nếu đó là vấn đề với chính phần mềm, các nhà phát triển sẽ có thể khắc phục nó. Ngoài ra, nếu bạn đang sử dụng HĐH 64 bit, có rất nhiều người ở đó có lẽ đã trải qua những rắc rối mà bạn gặp phải, và do đó, biết chính xác phải làm gì.


0

Tôi gặp vấn đề tương tự trên Linux Mint Debian Edition 2 64-bit.

Tôi đã giải quyết nó bằng cách cài đặt lại trình điều khiển NVIDIA với các thư viện GL 32 bit (sau khi cài đặt các thư viện đó được yêu cầu).

Tôi chỉ giả định rằng việc cài đặt các thư viện đồ họa 32 bit khác đó đã phá vỡ một số liên kết và cài đặt lại trình điều khiển NVIDIA với các thư viện 32 bit thực sự đó khắc phục sự cố liên kết.


0

Tôi gặp vấn đề này với Skype. Tôi đã sửa nó bằng cách cài đặt lại trình điều khiển Nvidia chính thức và cài đặt thư viện tương thích 32 bit trong khi cài đặt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.