Re: Recent sid amd64 rpath oddity?
Simon Huggins <firstname.lastname@example.org> writes:
> On the 3rd May I built libxfce4util and generated
> libxfce4util2_184.108.40.206-1_amd64.deb. This is in the archive exactly as I
> built it. It has a couple of lintian failures that I missed and have since
> been fixed in our SVN.
> Upstream have released recently and whilst checking these packages more
> thoroughly I've fixed up the lintian errors but I've also built the new
> package and I noticed that it's defining an rpath. So I rooted around and
> tried to work out why but couldn't really work it out. Upstream's
> libtool and autotools looked recent to me. If I relibtoolize though
> this does go away.
> Out of curiousity I rebuilt the previous package i.e. 220.127.116.11-1 again from
> the same source files as before but with current sid and this time it fails
> with two extra lintian warnings:
> W: libxfce4util2: binary-or-shlib-defines-rpath ./usr/lib/libxfce4util.so.2.1.0 /usr/lib
> W: libxfce4util2: binary-or-shlib-defines-rpath ./usr/sbin/xfce4-kiosk-query /usr/lib
> If I rebuild the same package on i386 current sid then I don't get the rpath
> I guess I have several questions:
> - how can the same source package over a few months build
> differently in this way?
> - am I really going to have to relibtoolize every xfce package
> before I upload or make them do it themselves? :-/
> - how evil is an rpath on /usr/lib anyway?
> I'd welcome any testers on amd64 or not and on recent sid or not to narrow
> this down. Or any clues as to how on earth this can happen.
> If you do want to relibtoolize then install xfce4-dev-ools and run
> xdt-autogen in the package dirrectory.
Your package, or more likely libtool, has different ideas about what
amd64 system library dirs are to what debian has. Other distributions
use /usr/lib64 and debian has /usr/lib. That confuses libtool into
adding a rpath. The fix is to force libtool to never ever use rpath.
If you can't get libtool to leave well enough alone then use 'chrpath
With rpath your package will afaik break when the library moves,
e.g. to /usr/lib64 for biarch systems as we use at my workplace, or
the multiarch /usr/lib/x86_64-linux-gnu directory.