View Issue Details

IDProjectCategoryView StatusLast Update
0015996CentOS-7gnome-sessionpublic2019-04-08 08:52
Reporterwernermaes 
PrioritynormalSeveritymajorReproducibilityalways
Status newResolutionopen 
Product Version7.6.1810 
Target VersionFixed in Version 
Summary0015996: Gnome session no longer works after updating mesa-libGL
DescriptionAfter updating our current CentOS server to the latest Centos 7.6 release GNOME3 sessions no longer work.
We use the mesa library for Gnome.
The mesa-libGL package was updated from version 17.2.3 to 18.2.5
Steps To ReproduceBefore update the mesa-libGL package contains
# rpm -ql mesa-libGL (version 17.2.3)
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0

After updating to the latest version (18.0.5) it has changed to
# rpm -ql mesa-libGL
/usr/lib64/libGLX_mesa.so.0
/usr/lib64/libGLX_mesa.so.0.0.0
/usr/lib64/libGLX_system.so.0

If I start the gnome-session-binary on the updated server I get
# /usr/libexec/gnome-session-binary
/usr/libexec/gnome-session-binary: symbol lookup error: /lib64/libcairo.so.2: undefined symbol: glXGetProcAddress

Something has definitively changed since as of mesa-libGL version 18. The libGL.so.1 has moved to the libglvnd-glx package but that does not contain the glXGetProcAddress function?
# rpm -qf /usr/lib64/libGL.so.1
libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64
# nm -D /usr/lib64/libGL.so.1 | grep glXGetProcAddress

while on a not updated server (versie 17.x of mesa-libGL)
# rpm -qf /usr/lib64/libGL.so.1.2.0
mesa-libGL-17.2.3-8.20171019.el7.x86_64
# nm -D /usr/lib64/libGL.so.1.2.0 | grep glXGetProcAddress
000000000001aea0 T glXGetProcAddress
000000000001aea0 T glXGetProcAddressARB

Apparently the function glXGetProcAddressmoved to /usr/lib64/libGLX.so.0 but the gnome-session-binary does not load it (see below)
 
# ldd /usr/libexec/gnome-session-binary | grep GL
        libEGL.so.1 => /lib64/libEGL.so.1 (0x00007fd743fc3000)
        libGL.so.1 => /lib64/libGL.so.1 (0x00007fd743731000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007fd741eda000)
# rpm -ql libglvnd-glx
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.7.0
/usr/lib64/libGLX.so.0
/usr/lib64/libGLX.so.0.0.0
 # nm -D /usr/lib64/libGLX.so.0.0.0 | grep glXGetProcAddress
0000000000005d40 T glXGetProcAddress
0000000000006870 T glXGetProcAddressARB

I got it working by patching the gnome-session-binary but that's not ideal.

wget https://nixos.org/releases/patchelf/patchelf-0.9/patchelf-0.9.tar.gz
tar xvzf patchelf-0.9.tar.gz cd patchelf-0.9
./configure
make
src/patchelf --add-needed /usr/lib64/libGLX.so.0.0.0 /usr/libexec/gnome-session-binary


TagsNo tags attached.
abrt_hash
URL

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2019-04-08 08:52 wernermaes New Issue