ld ignores entry in ld.so.conf telling where to find libGL.so.1 from nvidia-current

Bug #571746 reported by Stefan Zellmann
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
nvidia-graphics-drivers (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Actually I'm not sure if this is a linker related issue or if it relates to the nvidia-current package.

After upgrading to the lucid release candidate, ld wants to link with the libGL.so.1 from /usr/lib, rather than with the one from /usr/lib/nvidia-current, although in /etc/ld.so.conf, one can find the entry: include /etc/ld.so.conf.d/*.conf and nvidia-current is installed properly. Even when editing ld.so.conf so that their are lines surrounding the above mentioned line telling the linker to search for shared objects in /usr/lib/nvidia-current, the behavior wouldn't be as expected.

Only when setting LD_LIBRARY_PATH to /usr/lib/nvidia-current , ld knows where to find libGL.so.1(i.e. in /usr/lib/nvidia-current).

Searching the internet for similar topics, I found this post and maybe it relates to my problem: http://<email address hidden>/msg11607.html

As I know, that this issue is probably tough to reproduce, I attached the output of the following commands / content of the following files:

lsb_release -rd
lsconfig -p
lspci
/etc/ld.so.conf
/etc/ld.so.conf.d/GL.conf -> /etc/alternatives/gl_conf
---
Architecture: i386
DistroRelease: Ubuntu 10.04
DkmsStatus:
 nvidia-current, 195.36.15, 2.6.31-19-generic, i686: installed
 nvidia-current, 195.36.15, 2.6.32-21-generic, i686: installed
 blcr, 0.8.2, 2.6.31-19-generic, i686: installed
 virtualbox-ose, 3.1.6, 2.6.31-19-generic, i686: installed
 virtualbox-ose, 3.1.6, 2.6.32-21-generic, i686: installed
GdmLog1:
 Fatal server error:
 Server is already active for display 0
  If this server is no longer running, remove /tmp/.X0-lock
  and start again.
GdmLog2:
 Fatal server error:
 Server is already active for display 0
  If this server is no longer running, remove /tmp/.X0-lock
  and start again.
MachineType: SAMSUNG ELECTRONICS CO., LTD. R560
NonfreeKernelModules: nvidia
Package: nvidia-graphics-drivers (not installed)
ProcCmdLine: root=UUID=43824c72-360a-4202-8555-ad9615fcd5f1 ro quiet splash
ProcEnviron:
 LANGUAGE=
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
Tags: lucid lucid
Uname: Linux 2.6.32-21-generic i686
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
dmi.bios.date: 12/09/2008
dmi.bios.vendor: Phoenix Technologies Ltd.
dmi.bios.version: 09LA.7027.20081209.JJC
dmi.board.name: R560
dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.board.version: Not Applicable
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvr09LA.7027.20081209.JJC:bd12/09/2008:svnSAMSUNGELECTRONICSCO.,LTD.:pnR560:pvrNotApplicable:rvnSAMSUNGELECTRONICSCO.,LTD.:rnR560:rvrNotApplicable:cvnSAMSUNGELECTRONICSCO.,LTD.:ct10:cvrN/A:
dmi.product.name: R560
dmi.product.version: Not Applicable
dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD.
glxinfo:
 Error: couldn't find RGB GLX visual or fbconfig
 name of display: :0.0
system:
 distro: Ubuntu
 codename: lucid
 architecture: i686
 kernel: 2.6.32-21-generic

Revision history for this message
Stefan Zellmann (info-szellmann) wrote :
Revision history for this message
Bryce Harrington (bryce) wrote :

Mind taking a quick look at this one Alberto?

Changed in nvidia-graphics-drivers (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Robert Hooker (sarvatt) wrote :

Please run apport-collect 571764 to attach your logs to this bug. Most likely the issue is because you had a messed up PPA version (or manually installed one from nvidia.com which is incompatible with lucid) installed prior to upgrade. If /etc/ld.so.conf.d/GL.conf exists you should be able to just run sudo ldconfig to fix it, but if you had a nvidia.com one installed previously it's recommended to run the installer with the --uninstall option and deactivate/reactivate nvidia-current in jockey. You may need to run sudo update-alternatives --config gl_conf and pick the nvidia-current option before running sudo ldconfig though.

Changed in nvidia-graphics-drivers (Ubuntu):
status: New → Incomplete
Revision history for this message
Stefan Zellmann (info-szellmann) wrote : BootDmesg.txt

apport information

tags: added: apport-collected
description: updated
Revision history for this message
Stefan Zellmann (info-szellmann) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : GdmLog.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : Lspci.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : Lsusb.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : PciDisplay.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : ProcModules.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : RelatedPackageVersions.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : UdevDb.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : UdevLog.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : XorgConf.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : XorgLog.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : XorgLogOld.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : Xrandr.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : setxkbmap.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : xdpyinfo.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote : xkbcomp.txt

apport information

Revision history for this message
Stefan Zellmann (info-szellmann) wrote :

Sorry for not attaching my logs initially.

When using Ubuntu Karmic Koala, I never used any driver installed either from a ppa, nor one installed directly from nvidia binaries either. I used the one coming from the Ubuntu repositories and never had any problems with it. Maybe the md5 check sums of /usr/lib/libGL.so* and /usr/lib/nvidia-current/libGL.so* help verifying this:

b7accaea11f60fd1105d8c34b1e77ec0 /usr/lib/libGL.so
b7accaea11f60fd1105d8c34b1e77ec0 /usr/lib/libGL.so.1
b7accaea11f60fd1105d8c34b1e77ec0 /usr/lib/libGL.so.1.2

40ac933ee69fd016fc1726040f0a404c /usr/lib/nvidia-current/libGL.so
40ac933ee69fd016fc1726040f0a404c /usr/lib/nvidia-current/libGL.so.1
40ac933ee69fd016fc1726040f0a404c /usr/lib/nvidia-current/libGL.so.195.36.15

Running sudo ldconfig didn't solve my problem either.

When running ldconfig -p | grep -i libGL.so , it says the following:
libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/nvidia-current/libGL.so.1
libGL.so (libc6, OS ABI: Linux 2.4.20) => /usr/lib/libGL.so
libGL.so (libc6) => /usr/lib/nvidia-current/libGL.so

The above mentioned mailing list entry refers to a problem I think is similar to mine and they trace the problem back to the ABI tag. The author especially surmises that "The ABI tag breaks the sort order with the library that doesn't have such a tag". Maybe this relates to my problem in that the libGL.so.1 entry in nvidia-current doesn't have such a tag and thus the mesa library is preferred.

Revision history for this message
Alberto Milone (albertomilone) wrote :

As you said, the ABI tag is the problem:
libGL.so.1 (libc6, OS ABI: Linux 2.4.20) => /usr/lib/libGL.so.1

However the libraries that we ship in mesa (in Lucid) no longer have that ABI tag. Here's what I get on my Lucid installation:

$ ldconfig -p | grep libGL.so
 libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-current/libGL.so.1
 libGL.so.1 (libc6) => /usr/lib32/nvidia-current/libGL.so.1
 libGL.so (libc6,x86-64) => /usr/lib/nvidia-current/libGL.so
 libGL.so (libc6,x86-64) => /usr/lib/libGL.so
 libGL.so (libc6) => /usr/lib32/nvidia-current/libGL.so
 libGL.so (libc6) => /usr/lib32/libGL.so

What's the output of the following command? ls -l /usr/lib/libGL*

Here's mine:
$ ls -l /usr/lib/libGL*
lrwxrwxrwx 1 root root 13 2010-04-18 12:31 /usr/lib/libGL.so -> mesa/libGL.so
-rw-r--r-- 1 root root 929838 2010-04-15 15:03 /usr/lib/libGLU.a
lrwxrwxrwx 1 root root 11 2010-04-18 12:31 /usr/lib/libGLU.so -> libGLU.so.1
lrwxrwxrwx 1 root root 20 2010-04-18 12:31 /usr/lib/libGLU.so.1 -> libGLU.so.1.3.070701
-rw-r--r-- 1 root root 461488 2010-04-15 15:03 /usr/lib/libGLU.so.1.3.070701

Revision history for this message
Robert Hooker (sarvatt) wrote :

Ah the problem is you had xorg-edgers installed when you did your upgrade, that leads to very bad problems like you are experiencing

libgl1-mesa-glx 7.9.0~git20100407.78fd65fd-0ubuntu0sarvatt~karmic

Mesa in there has a higher version than that of lucid, but mesa is drastically different in lucid so they aren't compatible. I put a warning on xorg-edgers to use ppa-purge prior to upgrading for that reason :) The easiest way to fix it is to add xorg-edgers to your sources again, then do a sudo apt-get update && sudo apt-get install ppa-purge && sudo ppa-purge xorg-edgers. I wouldn't recommend installing anything from xorg-edgers with the binary drivers at the moment, but just adding it to your sources and updating like above will let ppa-purge work properly. If you want to do it manually then do a dpkg -l | grep sarvatt (or grep tormod) and for every package listed add /lucid to the end of a sudo apt-get install line like sudo apt-get install package1/lucid package2/lucid package3/lucid ..etc.

Revision history for this message
Robert Hooker (sarvatt) wrote :

I'm marking this invalid since it's not a problem with the distro packages, but I know for sure that this is your problem and will help you fix it.

Changed in nvidia-graphics-drivers (Ubuntu):
status: Incomplete → Invalid
assignee: Alberto Milone (albertomilone) → nobody
Revision history for this message
Stefan Zellmann (info-szellmann) wrote :

Thanks a lot for your help. Downgrading the mesa packages was the solution to my problem.

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.