On Thu, 28 May 2009 23:45:24 -0500
Johan Hattne <[log in to unmask]> wrote:
> On 05/27/09 17:28, Matt Harrington wrote:
>
> > I'm building an RPM from this:
> >
> > http://www.ysbl.york.ac.uk/~emsley/software/binaries/stable/coot-0.5.2-binary-Linux-x86_64-centos-5-gtk2.tar.gz
> >
> > and rpmbuild fails because of invalid RPATHs:
>
> <snip/>
>
> > I can circumvent this error by building like this:
> >
> > QA_RPATHS=$[ 0x0001|0x0002 ] rpmbuild -ba coot.spec
> >
> > However, I was wondering if there's a better way than to just ignore
> > this. Perhaps RPATHs could be removed entirely from the upstream
> > build?
>
> Couldn't this, perhaps, be fixed using for instance chrpath
> (disclaimer: I've never used it myself)? I suppose even if the
> rpaths were removed by upstream, your problem wouldn't go away.
>
> I am by no means an expert in these issues, but I firmly believe in
> correct rpaths, or runpaths, or install_names, or whatever they're
> called. IMHO, subsequent attempts at mending dynamic linking using
> LD_LIBRARY_PATH and friends often yield situations which could make
> grown men cry.
>
rpath and LD_LIBRARY_PATH are both Evil Things that need to die a
horrible, painful death. Libraries should go in a standard,
non-hard-coded location or use a custom config file
in /etc/ld.so.conf.d/ or whatever your *nix flavor uses. Full stop.
Both debian and fedora/RH either strictly forbid it or give you evil
stares.
I'm not sure if this will help:
http://www.stanford.edu/~fenn/packs/coot-0.5.2-3.fc11.src.rpm
but you'll need the dependencies as well (which distribution are you
using?)
or tweak the spec file like so:
%configure
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
HTH,
-Tim
--
---------------------------------------------------------
Tim Fenn
[log in to unmask]
Stanford University, School of Medicine
James H. Clark Center
318 Campus Drive, Room E300
Stanford, CA 94305-5432
Phone: (650) 736-1714
FAX: (650) 736-1961
---------------------------------------------------------
|