shared libraries (not working ld.so.conf.d)

Nicolas Chauvet kwizart at gmail.com
Tue Apr 14 09:38:31 UTC 2009


2009/4/14 David Hláčik <david at hlacik.eu>:
> Hello guys,
>
> I have patched my own libraries and override locations to them in ld.so.conf.d .
>
> Let's just see an example:
>
> [root at david ld.so.conf.d]# cat /etc/ld.so.conf.d/cairo-lcd-x86_64.conf
> /usr/lib64/cairo-lcd
>
>
> Now , when I will execute ldd to check for shared library dependencies :
>
> 1) gnome-terminal
>
> [root at david ~]# ldd /usr/bin/gnome-terminal |grep libcairo
>     libcairo.so.2 => /usr/lib64/cairo-lcd/libcairo.so.2
> (0x00000032ef000000) -> OK
>
> this is totally ok and works as expected , but :
>
> 2) gimp
>
> [root at david ~]# ldd /usr/bin/gimp |grep libcairo
>     libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00000032ee800000) ->
> Totally WRONG
>
> this is wrong and looks for original library instead as it should.
>
> My question is : What is the cause of this problem? Does gimp and
> others uses hard-linked libraries and ld.so.conf is for nothing??
The cause is in gimp...
rpmlint gimp output a lot of harcoded rpath in /usr/lib64 (on lib64 system).

No matter why you need to replace the cairo library... That remains a
separate problem.
Please submit a bug against gimp to be fixed according to the
packaging guideline:
http://fedoraproject.org/wiki/Packaging/Guidelines#Beware_of_Rpath

Nicolas (kwizart)




More information about the devel mailing list