How to get automake, libtool, and rpmbuild to work together
I'm trying to create an RPM of my package, which is built using automake
and libtool
, and I've encountered a problem: rpmbuild
aborts upon discovering that the installed programs of the package contain the pathname of the installation directory for the package's sharable libra开发者_开发百科ries (due to automake
's use of the -rpath
option of ld
).
I understand that rpmbuild
does this in order to guarantee that the package is relocatable. My question is what to do about it. I could eliminate the use of sharable libraries (and lose their benefits) or I could tell automake
to not install the sharable libraries (which would stop it from using the -rpath
option) and then install them anyway. The cost of this latter option is that it would require that the user always have a correctly-set LD_LIBRARY_PATH
environment variable -- plus it seems like a bit of a kludge.
Is there another option?
What would you do?
The details of this depend on the particular package's build system and which libtool version it is using.
Here are the relevant packaging guidelines from Fedora: http://fedoraproject.org/wiki/PackagingGuidelines#Beware_of_Rpath
Here is the analogous page from Debian: http://wiki.debian.org/RpathIssue
Wikipedia also has some relevant links: http://en.wikipedia.org/wiki/Rpath_(linking)
So you will need to try a few of the suggested techniques for getting rid of the rpath, but which one will work depends on the specifics of your package.
精彩评论