libGLX_indirect.so.0 not indexed by ldconfig

Bug #1676980 reported by Michael Hansen
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers-375 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Initial symptom: Various applications (Firefox, gnome-terminal, other GTK3 apps) crash immediately on startup in a standalone VNC session (for example using a vnc4server session). An strace revealed that libepoxy tries to load libGLX_indrect.so.0 and fails, but then crashes due to a different bug (https://bugs.launchpad.net/ubuntu/+source/libepoxy/+bug/1574886). However, even if that bug were fixed, the inability to find libGLX_indirect.so.0 is still a problem.

I did some digging and debugging on ldconfig, and found that:
* Although /usr/lib/nvidia-375 is in the ld.so.conf search path, libGLX_indirect.so.0 is still not getting indexed.
* libGLX_indirect.so.0 is a symlink to libGLX_nvidia.so.375.39
* libGLX_nvidia.so.375.39 has an SONAME of libGLX_nvidia.so.0
* If I read the ldconfig code correctly, it appears that it indexes based on the SONAME as well as the file name, and uses what it consideres to be the "latest version" of the link. Since "libGLX_n..." string compares higher than "libGLX_i...", the "libGLX_indirect.so.0" symlink is skipped, and only libGLX_nvidia.so.* is cached.

Additional information:
* OS: Ubuntu 16.04.2 LTS x86_64
* Relevant packages: nvidia-375-375.39-0ubuntu0.16.04.1, libc-bin-2.23-0ubuntu7, libepoxy0-1.3.1-1, vnc4server-4.1.1+xorg4.3.0-37.3ubuntu2
* Adding a symlink or setting LD_LIBRARY_PATH as suggested in https://bugs.launchpad.net/ubuntu/+bug/1570950 does work around the problem, but I believe that's only because it bypasses ld.so.cache, and isn't really a clean solution.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in nvidia-graphics-drivers-375 (Ubuntu):
status: New → Confirmed
Revision history for this message
Raj Bhattacharjea (raj-b) wrote :

For what it's worth, I installed libepoxy0 (1.3.1-1ubuntu1) from zesty manually by downloading the right deb for my architecture (https://packages.ubuntu.com/zesty/libs/libepoxy0), and then installing with "dpkg -i". It seems that the newer package in zesty has a fix for the bug you referenced.

This cleared up the segfaults. So, I'm not sure the ldconfig issues you mentioned are a problem in their own right; at least, they don't manifest as a crash on my setup.

I'm not an Ubuntu developer, but I'm trying to figure out how to get them to basically get the zesty package (with the null-pointer dereference fix) into 16.04 LTS. I e-mailed the bug team, hopefully they can get the ball rolling.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.