Advice on rpath

Kevin Kofler kevin.kofler at chello.at
Wed Oct 11 13:38:40 UTC 2006


> ERROR   0001: file '/usr/bin/xapian-tcpsrv' contains a standard
> rpath '/usr/lib64' in [/usr/lib64]

The problem here is that the program doesn't understand 64-bit multilibs. 
Rpaths are supposed to be set only for directories which are NOT standard 
library directories. Unfortunately, the build system used by this program (and 
all the others having the same issue) does not understand that /usr/lib64 is a 
standard library directory (or worse, it might just unconditionally put the 
rpath there). If this is a libtool-based build system, "relibtoolize" with the 
Fedora libtool (i.e. run "libtoolize") to fix this. If this is a simpler build 
system, like QMake, CMake, SCons etc., it's usually a one-line fix in the 
project description.

> Is it acceptable for fe-extras to ignore this error?  AFAICT, this is
> harmless.  What is the motivation to make this an error?

Well, if you want an official answer, you have to ask the ones who set the 
policies. (That would probably be the Fedora Packaging Committee in this case.) 
However, here are some reasons: The rpath is redundant, so it is probably 
inefficient. It also breaks if some future version of Fedora moves the libs 
to /usr/lib (i.e. no more multilib), /usr/lib64-oldabi (e.g. if some big GCC 
ABI change hits), /lib64 (i.e. no more /usr, which might be possible even for 
NFS setups using some unionfs-type solution) or whatever other location.

        Kevin Kofler




More information about the fedora-extras-list mailing list