& ldquo; ошибка при загрузке разделяемых библиотек: libGL.so.1: неправильный класс ELF: ELFCLASS32 & rdquo; установка драйверов ATI

Я использую ABCDE, который является очень хорошим риппером:

abcde -a cddb,read,encode,tag,move,playlist,clean -d /dev/cdrom -o m4a -V -x
1
задан 13 April 2017 в 15:24

2 ответа

Вместо прямого редактирования файла ld.so.conf, создайте файл под названием local.conf в подкаталоге /etc/ld.so.conf.d, который содержит только строку / usr / local / lib. То есть,

Содержание /etc/ld.so.conf.d/local.conf:

/ usr / lib64

Затем запустите команду ldconfig , (Предполагается, что файл /etc/ld.so.conf содержит строку include /etc/ld.so.conf.d/*.conf.)

Вам нужно сделать это только один раз. [ ! d4]

0
ответ дан 24 May 2018 в 19:02

У меня внезапно возникла такая же проблема после обновления ядра. Мне не удалось войти в графический интерфейс. Выполняя команду aticonfig, я получил эту ошибку, и я нашел ее и в Xorg.0.log. Я запускаю 64-битную систему Debian Jessie с 32-битными библиотеками для программного обеспечения, такого как вино и скайп. Удаление пакета «libgl1-mesa-glx: i386» также удалило skype и wine32, и это не решило проблему.

Я обнаружил, что установщик драйверов AMD создает неверную ссылку на 32-битную библиотеку неправильной интерпретации системной архитектуры, хотя она, по-видимому, правильно распознала архитектуру в программе установщика.

Запуск команды локализации для библиотеки может дать вам следующую информацию:

# find / -name libGL.so*
/usr/lib/i386-linux-gnu/libGL.so.1
/usr/lib/i386-linux-gnu/libGL.so
/usr/lib/i386-linux-gnu/libGL.so.1.2
/usr/lib/i386-linux-gnu/libGL.so.1.2.0
/usr/lib/libGL.so
/usr/lib/libGL.so.1.2
/usr/lib/libGL.so.1
/usr/lib64/libGL.so.1.2
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so
[d3 ] Но вы обнаружите, что стандартные библиотеки системы в «/ usr / lib» ссылаются на версии библиотек в «/ usr / lib / i386-linux-gnu /», что делает 32-разрядную версию libGL.so.1 библиотеки по умолчанию. Эта ссылка создается установщиком драйверов AMD из-за неправильной интерпретации структуры системы. Эта ошибка возникает из-за наличия в системе каталога «/ usr / lib64 /». 64-битная система не имеет папку «/ usr / lib64 /», потому что все 64-разрядные версии библиотек находятся в «/ usr / lib /». Таким образом, установщик ошибочно принимает Систему для 32-битной системы и создает ссылку на 32-разрядную версию «libGL.so.1»

. Как вы можете это исправить? - Сначала запустите деинсталлятор драйвера в «/ usr / share / ati»

# ls -lah /usr/share/ati
-rw-r--r--   1 root root 2,4K oct 19 20:51 fglrx-install.log
-rwxr--r--   1 root root  18K oct 19 20:51 fglrx-uninstall.sh

Это приведет к удалению всех неправильных ссылок.

Даже после этого шага я уже смог получите графический логин с предупреждением о том, что у него нет правильного драйвера.

Затем вы переименуете каталог «/ usr / lib64 /», чтобы отключить его. # cd /usr # ls -lah drwxr-xr-x 182 root root 40K oct 19 20:50 lib drwxr-xr-x 5 root root 4,0K oct 19 20:40 lib64 # pwd /usr # mv lib64 lib64_2015-10-19 # ls -lah drwxr-xr-x 182 root root 40K oct 19 20:50 lib drwxr-xr-x 5 root root 4,0K oct 19 20:40 lib64_2015-10-19 Затем вы переименуете каталог «/ usr / lib64 /», чтобы отключить его.

Теперь вы найдете правильную ссылку на 64-битную была создана версия libGL.so.1

# ls -lah /usr/lib/libGL.so.1.2
lrwxrwxrwx 1 root root 33 oct 19 20:50 /usr/lib/libGL.so.1.2 -> /usr/lib/fglrx/fglrx-libGL.so.1.2

Теперь вы можете снова получить графический вход в систему как обычно.

0
ответ дан 24 May 2018 в 19:02
  • 1
    Перемещение / usr / lib без уважительной причины оставит вашу систему калекой. – Braiam 17 March 2017 в 17:28
  • 2
    обратите внимание, что это решение говорит о перемещении директории /usr/lib64/, которая была ошибочно , созданной Драйвером AMD и что не должно существовать on 64-битная система, потому что 64-битная система имеет свои библиотеки только в каталоге /usr/lib/. – Bodo Hugo Barwich 17 March 2017 в 18:14

Другие вопросы по тегам:

Похожие вопросы: