Khi cố chạy các phần mềm khác nhau (đáng chú ý là Steam và Yenka), tôi đã gặp phải một lỗi tương tự như sau: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
Tôi đang chạy một hệ thống 64 bit, với thẻ NVidia Optimus (Tôi khởi động kép cho một số phần mềm chỉ có một số cửa sổ yêu cầu thẻ đồ họa chuyên dụng). Tôi đã cài đặt bumblebee và tôi đang sử dụng trình điều khiển hiện tại của nvidia, thay vì trình điều khiển được tải xuống từ NVidia, như được đề xuất.
Thư viện (libGL.so.1) không có trong thư mục trên cùng /usr/lib
, tuy nhiên, nó hiện diện /usr/lib32/nvidia-current
dưới dạng liên kết mềm /usr/lib32/nvidia-current/libGL.so.304.64
.
Một phần của đầu ra từ ldconfig -p:
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so
Rõ ràng là một thư viện có tên đó đang được tải, nhưng chúng được đặt trong đó /usr/lib/x86_64-linux-gnu
, tuy nhiên phần mềm được cài đặt dường như không thể 'nhìn thấy' nó. Đối với Steam, việc chạy nó với optirun khiến nó hoạt động, nhưng đây không phải là trường hợp của Yenka. Tôi cho rằng optirun khiến thư viện được lưu trữ /usr/lib32/nvidia-current
được sử dụng, cho phép Steam chạy, vì vậy tôi không thể hiểu tại sao Yenka sẽ không chạy.
Bất cứ ai cũng có thể giải thích tại sao phần mềm không thể thấy thư viện mesa bình thường và tại sao Yenka từ chối chạy với thư viện nvidia hiện tại?