แทนที่จะลบ libstdc ++ ก่อนอื่นให้ตรวจสอบว่าข้อผิดพลาดนี้เกิดจากลิงก์สัญลักษณ์ libGL ที่คลุมเครือหรือไม่
อ้างถึงคำตอบอื่น ๆ ของฉันที่ใช้งานได้สำหรับฉันในการแก้ไขปัญหานี้
/ubuntu//a/903488/364084
ฉันจะวางเนื้อหาที่นี่:
หากคุณใช้ไดรเวอร์ nvidia บางครั้งคุณจะเห็นว่า libGL.so.1 ชี้ไปที่ libGL ที่ไม่ชัดเจนซึ่งจัดทำโดยทั้ง mesa และ nvidia เพื่อทดสอบสิ่งนี้คุณสามารถเรียกใช้คำสั่งนี้
$ sudo ldconfig -p | grep -i gl.so
ผลลัพธ์เป็นดังนี้:
libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so
ตอนนี้ฉันต้องการลบห้องสมุดที่ Mesa ให้ไว้และทุกอย่างทำงานได้อย่างสมบูรณ์
$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1