Ошибка загрузки libGL.so.1

При попытке запустить различные части программного обеспечения (в частности, Steam и Yenka), я столкнулся с ошибкой, похожей на эту: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Я использую 64-битную систему с NVidia Optimus карта (у меня двойная загрузка для определенных окон только программное обеспечение, которое требует выделенной видеокарты). У меня установлен шмель, и я использую драйвер nvidia-current, а не драйвер, скачанный с NVidia, как рекомендовано.

Библиотека (libGL.so.1) отсутствует в верхнем каталоге /usr/lib, однако она присутствует в /usr/lib32/nvidia-current, как мягкая ссылка на /usr/lib32/nvidia-current/libGL.so.304.64.

Часть вывода из 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

Очевидно, что библиотека с таким именем загружается, но они находятся в /usr/lib/x86_64-linux-gnu, однако установленное программное обеспечение, похоже, не в состоянии чтобы увидеть это. Для Steam запуск его с помощью optirun заставляет его работать, но это не относится к Yenka. Я предполагаю, что optirun заставляет использовать библиотеку, хранящуюся в /usr/lib32/nvidia-current, что позволяет запускать Steam, поэтому я не могу понять, почему Yenka не запускается.

Может кто-нибудь объяснить, почему программное обеспечение не может видеть обычную библиотеку mesa, и почему Yenka отказывается работать с библиотекой nvidia-current?

48
задан 12 September 2015 в 21:08

8 ответов

С установленными драйверами nvidia скайп ищет lib i386, предоставляемый пакетом nvidia. Так как этого не существует, можно использовать i386 libGL.so.1, предоставленный mesa.

Протестировано на (ubuntu-gnome raring, используя nvidia-325) и (ubuntu-gnome saucy, используя nvidia-319) мы смогли это исправить следующим образом:

update-alternatives --display i386-linux-gnu_gl_conf

Это покажет вам, какие есть доступные варианты.

i386-linux-gnu_gl_conf - auto mode
  link currently points to /usr/lib/nvidia-325/alt_ld.so.conf
/usr/lib/i386-linux-gnu/mesa/ld.so.conf - priority 500
  slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules
/usr/lib/nvidia-325/alt_ld.so.conf - priority 8602
Current 'best' version is '/usr/lib/nvidia-325/alt_ld.so.conf'

Итак, сделайте следующее:

sudo update-alternatives --config i386-linux-gnu_gl_conf

затем выберите лучшую альтернативу (я выбрал i386-linux-gnu / mesa / ld.so.conf): на выходе ниже есть два варианта альтернативного i386-linux-gnu_gl_conf (предоставив /etc/ld.so.conf.d/i386-linux-gnu_GL.conf).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
* 0            /usr/lib/nvidia-325/alt_ld.so.conf        8602      auto mode
  1            /usr/lib/i386-linux-gnu/mesa/ld.so.conf   500       manual mode
  2            /usr/lib/nvidia-325/alt_ld.so.conf        8602      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

После того, как вы это сделали, попробуйте выполнить:

sudo ldconfig

и тогда все готово.

0
ответ дан 12 September 2015 в 21:08

Исправления здесь будут работать, но есть и более простая.

Если skype не работает, но optirun skype работает, вы можете исправить это с помощью:

sudo apt-get install bumblebee-nvidia --reinstall

(Людям, использующим Bumblebee с картами AMD, возможно, потребуется выполнить эквивалентную переустановку ).

Шмель как вызывает, так и исправляет эту проблему, но исправление, которое он применяет, происходит при установке, когда он делает библиотеки libGL доступными для интегрированной карты, а также для более мощной карты. Этого не произойдет, если эти библиотеки еще не были установлены, когда вы установили Bumblebee, поэтому требуется переустановка. Это также не должно повлиять на вашу конфигурацию шмеля, хотя, очевидно, стоит проверить после того, как вы это сделаете.

0
ответ дан 12 September 2015 в 21:08

У меня была похожая проблема, и я решил ее, установив 32-битные библиотеки в мою 64-битную систему: apt-get install ia32-libs

0
ответ дан 12 September 2015 в 21:08

У меня возникла та же проблема после установки Skype ... так что вы можете сделать любую вещь, чтобы исправить эту ошибку ..

1-й из них запускает приложение с помощью следующей команды ... например, я запускаю скайп ..

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype

ИСТОЧНИК

2-й, что я сделал

sudo nano /etc/ld.so.conf.d/skype.conf

и добавьте в него следующую строку

/usr/lib/i386-linux-gnu/mesa/

сохранить & амп; выйдите из

и, наконец, запустите

sudo ldconfig -v

, я надеюсь, что это исправит вашу ошибку libGL.so.1 , как и моя

Вы также можете найти libGL.so.1

   find / -name libGL.so.1
0
ответ дан 12 September 2015 в 21:08

Я не уверен, поможет ли это прояснить или нет, но у меня была та же проблема со скайпом и libGL.so.1. Также работает 13.04 с картой Optimus и шмелем.

У меня проблема с запуском скайпа без optirun, но она работала нормально. Я просто изменил файл рабочего стола для запуска с optirun каждый раз и вуаля. исправлена!

0
ответ дан 12 September 2015 в 21:08

Отредактируйте запись на рабочем столе:

sudo nano /usr/share/applications/skype.desktop

Измените Exec на:

Exec=env PULSE_LATENCY_MSEC=60 LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype %U

Это запустит:

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1

перед запуском скайпа при его запуске. с записью запуска / рабочего стола.

После этого он должен работать нормально, если вы запустите его с помощью панели запуска приложений.

0
ответ дан 12 September 2015 в 21:08

Загрузите последнюю версию с официальной страницы Steam, затем дайте ей загрузить то, что ей нужно, из терминала (если есть необходимость). чем добавить шмеля ppa, если вы еще этого не сделали.

sudo add-apt-repository ppa:bumblebee/stable

обновите его с помощью этой команды:

sudo apt-get update

и установите virtualgl (что помогло мне исправить ошибку libgl.so.1 в Steam)

sudo apt-get install virtualgl
0
ответ дан 12 September 2015 в 21:08

Попробуйте:

sudo apt-get install libgl1-mesa-glx-lts-utopic:i386
0
ответ дан 12 September 2015 в 21:08

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

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