2009/4/14 David Hláčik <david(a)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@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@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@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)