LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Fedora (http://www.linuxquestions.org/questions/fedora-35/)
-   -   Extension "GLX" missing, cannot open libGLcore (http://www.linuxquestions.org/questions/fedora-35/extension-glx-missing-cannot-open-libglcore-683519/)

01d55 11-15-2008 01:28 AM

Extension "GLX" missing, cannot open libGLcore
 
Fedora 9, drivers from rpmfusion-nonfree, have reinstalled drivers. Worked fine until this evening.
Code:

# glxgears
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't get an RGB, Double-buffered visual
# cat nvidia-bug-report.log | grep -A 1 glx
(II) LoadModule: "glx"

(II) Loading /usr/lib64/xorg/modules/extensions/nvidia//libglx.so
dlopen: libGLcore.so.1: cannot open shared object file: No such file or directory
(EE) Failed to load /usr/lib64/xorg/modules/extensions/nvidia//libglx.so
(II) UnloadModule: "glx"
(EE) Failed to load module "glx" (loader failed, 7)
(II) LoadModule: "freetype"
--
ldd /usr/bin/glxinfo

# locate libGLcore
/usr/lib/nvidia/libGLcore.so
/usr/lib/nvidia/libGLcore.so.1
/usr/lib/nvidia/libGLcore.so.173.14.15
/usr/lib64/nvidia/libGLcore.so
/usr/lib64/nvidia/libGLcore.so.1
/usr/lib64/nvidia/libGLcore.so.173.14.15
# rpm -qa | grep nvidia
xorg-x11-drv-nvidia-libs-173.14.15-1.fc9.x86_64
xorg-x11-drv-nvidia-libs-173.14.15-1.fc9.i386
xorg-x11-drv-nvidia-173.14.15-1.fc9.x86_64
kmod-nvidia-2.6.26.6-79.fc9.x86_64-173.14.15-1.fc9.4.x86_64
kmod-nvidia-2.6.27.5-37.fc9.x86_64-173.14.15-1.fc9.4.x86_64
akmod-nvidia-173.14.15-1.fc9.4.x86_64

Would like to attatch full bug log, cannot find attachment function.

EDIT: Error arises from installation of xorg-x11-drv-nvidia-libs.i386. If one installs the driver first and then attempts to install the libs, a transaction check error indicates a conflict. It is possible to "fool" yum into installing the i386 library by installing it first.

GlennsPref 11-15-2008 02:07 AM

Hi looks like the i386 version is installed (/usr/lib)

You might want to un-install that first then install the x86_64 version only.

you will also need the x server package...
Quote:

locate libglx.so
/usr/lib64/xorg/modules/extensions/libglx.so (...installed from x11-server-common package)
/usr/lib64/xorg/modules/extensions/libglx.so.177.80 (...installed by the x11-nvidia-current

package and the proprietary nvidia .run installer.
Hope that helps, Glenn

01d55 11-15-2008 02:29 AM

I require the 32 bit library to run graphical programs in wine. Uninstalling the 32 bit library does remove the error (glx gears runs), but doesn't allow me to run my programs.

GlennsPref 11-15-2008 03:26 AM

Hi, My thought was to install the system (64bit) files first,
then you may install the 32 bit packages for programs once the system has the files in the right places.

The way I would install the 32bit packages?

rpm -ivh --nodeps --force package.name.version.rpm

(dosen't the nvidia package install 32bit versions too? or
at least offer to do so after/during the 64bit install)

I say this because I use Mandriva and the nVidia proprietary driver package which may be different to RedHat and Fedora.

Or you might try linking the 64bit files to where wine expects to find them (/usr/lib).

ln /usr/lib/filename.so /usr/lib64/filename.so

I hope you can see what I mean.

eg, system first, programs after you restart x.

Regards, Glenn

ps. with mandriva mesa packages are used to do this too (not glx though)

01d55 11-15-2008 04:10 AM

Quote:

Originally Posted by GlennsPref (Post 3342550)
Hi, My thought was to install the system (64bit) files first,
then you may install the 32 bit packages for programs once the system has the files in the right places.

The way I would install the 32bit packages?

rpm -ivh --nodeps --force package.name.version.rpm

(dosen't the nvidia package install 32bit versions too? or
at least offer to do so after/during the 64bit install)

I've been installing through yum. Whenever I install any of the 64 bit nvidia packages, the rest are installed for dependencies.

When I try to install the 32 bit library package (once the 64 bit packages are already installed) yum finds a conflict with
/etc/ld.so.conf.d/nvidia-%{_libs}.conf, which is provided by both the 64 and 32 bit libraries. The file in question consists of one line:
/usr/lib64/nvidia
When the 32 bit library is installed, the 64 is omitted. However, manually editing the file to restore the 64 didn't solve the problem.

Force installing the RPM breaks GLX.

Quote:

I say this because I use Mandriva and the nVidia proprietary driver package which may be different to RedHat and Fedora.

Or you might try linking the 64bit files to where wine expects to find them (/usr/lib).

ln /usr/lib/filename.so /usr/lib64/filename.so

I hope you can see what I mean.

eg, system first, programs after you restart x.

Regards, Glenn

ps. with mandriva mesa packages are used to do this too (not glx though)
I'm about to try linking, but I'm doubtful that it'll help wine.

EDIT: I wound up not manually linking, because I found something much more interesting: Force installing with --nopost lets me install without hosing glx. wine can't use them, but at least now they're there to be found.
Code:

# rpm -q --scripts xorg-x11-drv-nvidia-libs.i386
postinstall program: /sbin/ldconfig
postuninstall program: /sbin/ldconfig

So if I can get ldconfig to do it right, things will work out.

01d55 11-15-2008 05:00 AM

Eureka! In the very first sentence of the description in the ldconfig man page, /etc/ld.so.conf appears. So ldconfig was referring to /etc/ld.so.conf.d/nvidia-%{_libs}.conf, the file that both versions of the nvidia libraries have. I'd dismissed it as the culprit when fixing it and rebooting failed to stop the problem, but of course ldconfig isn't run on every boot.

In order to get things working right, I had to include both /usr/lib64/nvidia and /usr/lib/nvidia. Just the latter causes glx to fail, only the former and wine doesn't work. With both, the problem is solved.

GlennsPref 11-15-2008 05:08 AM

You bewdie!

As I read the other post I though to try the same thing (no harm). Good work.

Cheers, Glenn

dfcamara 11-15-2008 02:18 PM

From https://bugzilla.rpmfusion.org/show_bug.cgi?id=159

Check if a file named nvidia-%{_lib}.conf exists in /etc/ld.so.conf.d
In this case try this:
cd /etc/ld.so.conf.d
rm nvidia-%{_lib}.conf
echo '/usr/lib/nvidia' > nvidia-x86.conf
echo '/usr/lib64/nvidia' > nvidia-x86_64.conf
ldconfig
and then restart Xorg.


All times are GMT -5. The time now is 11:13 PM.