Sunday, May 5, 2024
 Popular · Latest · Hot · Upcoming
39
rated 0 times [  39] [ 0]  / answers: 1 / hits: 108719  / 1 Year ago, tue, december 6, 2022, 2:45:07

When attempting to run various pieces of software (notably Steam and Yenka), I have come across an error similar to this: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory



I'm running a 64 bit system, with an NVidia Optimus card (I dual boot for certain windows only software that requires a dedicated graphics card). I have bumblebee installed, and I am using the nvidia-current driver, rather that one downloaded from NVidia, as recommended.



The library (libGL.so.1) is not present in the top directory of /usr/lib, however it is present in /usr/lib32/nvidia-current, as a softlink to /usr/lib32/nvidia-current/libGL.so.304.64.



A section of the output from 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


Obviously a library with that name is being loaded, but they are located in /usr/lib/x86_64-linux-gnu, however installed software doesn't seem to able to 'see' it. For Steam, running it with optirun causes it to work, but this is not the case for Yenka. I assume that optirun causes the library stored in /usr/lib32/nvidia-current to be used, which allows Steam to run, so I can't understant why Yenka won't run.



Can anyone explain why software can't see the normal mesa library, and why Yenka refuses to run with the nvidia-current library?


More From » nvidia

 Answers
0

With the nvidia drivers installed skype is looking for an i386 lib provided by the nvidia package. Since that doesn't exist, it is ok to use the i386 libGL.so.1 provided by mesa.



Tested on (ubuntu-gnome raring, using nvidia-325) and (ubuntu-gnome saucy, using nvidia-319) we were able to fix this by the following:



update-alternatives --display i386-linux-gnu_gl_conf


This will show you what the available options are.



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'


so, do the following:



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


then select the best alternative (I selected i386-linux-gnu/mesa/ld.so.conf):
In the output below there are two choices for the alternative i386-linux-gnu_gl_conf (providing /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


After you have completed that, try running:



sudo ldconfig


and then you're done.


[#32625] Tuesday, December 6, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ainubt

Total Points: 496
Total Questions: 98
Total Answers: 126

Location: Sao Tome and Principe
Member since Wed, Dec 21, 2022
1 Year ago
;