[elrepo] prelinking against /usr/lib/nvidia/libGL.so.1
Phil Perry
phil at elrepo.org
Fri Jul 17 09:38:19 EDT 2009
Olaf Mueller wrote:
> Hello,
>
> since a few days I am using the new elrepo repository for CentOS 5.3. I
> use it for kmod-fuse, kmod-ntfs and kmod-alsa and I am very happy with
> it. Thank you very much for your hard work!
>
Hi Olaf,
Great - glad you like them and thanks for the feedback :)
> On one system with Nvidia 7600GT graphic card I am using the
> nvidia-x11-drv-185.18.14-1.el5.elrepo and the
> kmod-nvidia-185.18.14-1.el5.elrepo packages from elrepo-testing. And on
> prelinking I run into the following Warning/Error message.
>
> prelink: /usr/local/sbin/opt/kde/bin/kdesktop_lock: Cannot prelink
> against non-PIC shared library /usr/lib/nvidia/libGL.so.1
>
> There are many more messages like this all ending with "Cannot prelink
> against non-PIC shared library /usr/lib/nvidia/libGL.so.1". As a
> workaround I have disabled the path /usr/lib/nvidia for prelinking
> with "-b".
>
> So my questions is, is it possible to build the nvidia-x11-drv package
> in a way that makes prelinking possible? As a PIC shared library for
> example?
> Thank you.
>
>
That's somewhat strange as I'm unable to reproduce those warnings. What
arch are you running - x86_64 or i386?
The cause of "Cannot prelink against non-PIC shared library" wanrings is
generally due to shared libraries being compiled without the -fPIC gcc
option for all of their object files. In this case the libraries are not
compiled by us but are provided by nvidia, precompiled in binary form
from nvidia's binary installer - we simply repackage them into a
convenient RPM format for the end user. So we are unable to fix the
problem - only nvidia can do that.
It's actually a known issue that nvidia sometimes ship non-PIC compiled
libraries. Apparently this is done due to performance reasons.
So, if the nvidia libraries are causing prelinking issues for you, then
you have already discovered the workaround, and that is to blacklist
their prelinking in /etc/prelink.conf. About all we could do as
packagers is to ship an /etc/prelink.conf.d/nvidia.conf blacklist file
to prevent prelinking (much the same as you have done) but until we are
able to replicate the issue that's unlikely to happen.
Perhaps you could file a bug on http://elrepo.org/bugs with more details
and we can track the issue there.
Regards,
Phil
More information about the elrepo
mailing list