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

46

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

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

Библиотека (libGL.so.1) отсутствует в верхнем каталоге /usr/lib , однако она присутствует в /usr/lib32/nvidia-current , как softlink для /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?

    
задан p0llard 18.02.2013 в 20:52
источник

8 ответов

39

С установленными драйверами nvidia skype ищет библиотеку 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

, а затем все готово.

    
ответ дан eurythmia 20.07.2013 в 22:10
источник
51
  

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

1st one запускает приложение, следуя команде ... например, я запускаю skype ..

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

S O U R C E

2nd, что я сделал

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

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

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

save & amp; Выход

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

sudo ldconfig -v

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

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

   find / -name libGL.so.1
    
ответ дан Qasim 21.03.2013 в 05:17
12

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

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

sudo apt-get install bumblebee-nvidia --reinstall

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

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

    
ответ дан Jon Hanna 27.04.2014 в 14:41
1

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

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

    
ответ дан user191532 10.09.2013 в 00:54
1

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

    
ответ дан Matt 21.12.2013 в 04:53
1

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

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

перед запуском skype, когда вы запустите его с помощью записи запуска / рабочего стола.

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

    
ответ дан hazmat 17.12.2014 в 19:20
0

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

sudo add-apt-repository ppa:bumblebee/stable

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

sudo apt-get update

и установите virtualgl (который решил проблему с ошибкой libgl.so.1 для меня в Steam)

sudo apt-get install virtualgl
    
ответ дан Addae Dans 28.04.2014 в 21:20
0

Try:

sudo apt-get install libgl1-mesa-glx-lts-utopic:i386
    
ответ дан Donkey 11.05.2015 в 02:27