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