Hello, On Tue, 13 Mar 2012, David Haller wrote:
On Tue, 13 Mar 2012, Philipp Thomas wrote:
On Tue, 13 Mar 2012 02:09:58 +0100, Christian Boltz
wrote: ERROR: RPATH "" on /home/abuild/rpmbuild/BUILDROOT/apparmor-2.7.2-126.20.i386/usr/lib/perl5/vendor_perl/5.14.2/i586-linux-thread-multi/auto/LibAppArmor/LibAppArmor.so is not allowed ERROR: RPATH "" on /home/abuild/rpmbuild/BUILDROOT/apparmor-2.7.2-126.20.i386/usr/lib/perl5/vendor_perl/5.14.2/i586-linux-thread-multi/auto/LibAppArmor/LibAppArmor.so is not allowed
RPATH sets the path the runtime linker will search when resolving dependencies. This is only needed when the libs don't reside in a standard directory. Having RPATH point to the buildroot is plain wrong as it'll never work. How you fix that with perl tools I don't know, so someone knowledgable like David needs to chime in :-) GONGGGGGGGGG
That's not a job for me. As it is definitely a bug in /usr/lib/rpm/brp-suse.d/brp-35-rpath, [..] Proposed patch:
==== --- ./usr/lib/rpm/brp-suse.d/brp-35-rpath.orig 2012-03-13 04:39:06.000000000 +0100 +++ ./usr/lib/rpm/brp-suse.d/brp-35-rpath 2012-03-13 04:43:38.000000000 +0100 @@ -24,6 +24,7 @@ while [ -n "$RPATH_VAL" ]; do RPATH_VAL_NXT=${RPATH_VAL%%:*} RPATH_VAL=${RPATH_VAL##$RPATH_VAL_NXT:} + test -z "$RPATH_VAL_NXT" && continue test -d "$RPATH_VAL_NXT" && RPATH_VAL_NXT=$(cd ${RPATH_VAL_NXT//#\/\//\/}; pwd -P)
case ":$RPATH_VAL_NXT" in ====
Addendum: It is/might also be a linker bug, I don't think the linker (in this case GNU 'ld') should write empty RPATH/RUNPATH entries unless explicitly told to. The fix to the brp-script should, in ANY case, be done but probably amended to emit a warning of that linker behaviour, e.g.: ==== --- ./usr/lib/rpm/brp-suse.d/brp-35-rpath.orig 2012-03-13 04:39:06.000000000 +0100 +++ ./usr/lib/rpm/brp-suse.d/brp-35-rpath 2012-03-13 05:39:54.000000000 +0100 @@ -24,6 +24,10 @@ while [ -n "$RPATH_VAL" ]; do RPATH_VAL_NXT=${RPATH_VAL%%:*} RPATH_VAL=${RPATH_VAL##$RPATH_VAL_NXT:} + if test -z "$RPATH_VAL_NXT"; then + printf "WARNING: Linker added empty RPATH/RUNPATH entry to '$FILE'\n" >&2 + continue + fi test -d "$RPATH_VAL_NXT" && RPATH_VAL_NXT=$(cd ${RPATH_VAL_NXT//#\/\//\/}; pwd -P) case ":$RPATH_VAL_NXT" in ==== Please add me as CC on any bugs you file. -dnh -- Wash: "[..] this landings is gonna get pretty interesting" Mal: "Define 'interesting.'" Wash: "Oh, God, oh, God, we're all gonna die?" Mal: "This is the captain. We have a little problem with our entry sequence, so we may experience some slight turbulence and then explode." -- Firefly Serenity -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org