Java Mailing List Archive

http://www.redhatconfig.com/

Home » Mandriva Cooker »

Re: [Cooker] Cooker update knocked out nvidia driver and nvidias
opengl driver

Anssi Hannula

2008-06-04

Replies: Find Java Web Hosting

Author LoginPost Reply
Colin Guthrie wrote:
> Anssi Hannula wrote:
>> Steve Morris wrote:
>>> Colin Guthrie wrote:
>>>> Steve Morris wrote:
>>>>> Colin Guthrie wrote:
>>>>>> And remember that the x11 module is only part of the whole GL
>>>>>> solution. The shared library (and sometimes a kernel module) make up
>>>>>> the other part(s).
>>>>> This might be true but the
>>>>> /usr/lib/xorg/modules/extensions/nvidia-current/libglx.so is a link
>>>>> to /usr/lib/xorg/modules/extensions/nvidia-current/libglx.so.173.08
>>>>> which I assume is the module with the unknown symbol and hence can't
>>>>> be loaded.
>>>> To assume makes an ASS of U and ME ;) It's probably not that library
>>>> that has the missing symbol but the library it's loading. e.g. it's
>>>> probably trying to load libGL.so.1 or something. It expects to load
>>>> the nv provided version of this library but it's actually loading the
>>>> nvidia one.... this could be due to outdated library paths in the
>>>> ld.so.conf.d folder (or more accurately, the paths are probably fine
>>>> after having been set corretly by update_alternatives gl_conf but an
>>>> outdated cache due to not running ldconfig is causing the wrong
>>>> library to be loaded...).
>>> I certainly hope this is not the situation as that makes a mockery of
>>> the error message. Using your example of libGL.so.1, if xorg is smart
>>> enough to determine that it is this module that has the undefined
>>> symbol,
>>
>> It is not. And the error is actually from dynamic linker (dl.so), that
>> cannot load libglx.so as there are undefined symbols. And it cannot know
>> where the symbols were supposed to be defined, only that they are not
>> defined.
>
> I typo'ed originally and said nvida where I meant to say mesa... sorry.

Yeah, I gathered you meant that :)

> I was thinking that as X loads the glx.so file, it, in turn, requests to
> load libGL.so.1 (or whatever major... I'm not looking ;)). If the ld
> cache is not correct/outdated, it could be loading the Mesa version
> rather than the NV one. The Mesa library does not have the symbol in
> question (it's not meant to) and thus the glx.so reports that the symbol
> is missing.
>
> That sounds quite plausible to me?

It is otherwise plausible, but nvidia version of libglx.so is linked
against 'libGLcore.so.1' and 'libnvidia-tls.so.1', and those are
nvidia-only libraries.
Therefore the NVIDIA versions of those libraries had to be loaded, but
since there were undefined symbols, they must've been wrong version.
This can happen e.g. if the user has those libraries left from a
previous manual nvidia installation in /usr/lib/ and ldconfig was not
run after gl_conf change.

> Or am I misinterpreting your reply a
> bit and your "It is not." statement referring to Steve's statement about
> xorg begin smart enough to know that it's libGl that's missing the
> symbol? (if so I concur :))

You are not :)

--
Anssi Hannula
©2008 redhatconfig.com - Jax Systems, LLC, U.S.A.