From b103bb9426c0e5e3ef0fe0c34274ad3a06af8b6a Mon Sep 17 00:00:00 2001 From: Jens Rehsack Date: Wed, 22 Aug 2018 11:04:24 +0200 Subject: libxml-parser-perl: fix "...contains bad RPATH" The perl distribution "XML-Parser" relies for configuration on the tooling of Devel::CheckLib - which is not aware of sysroot locations nor of reasonable compiler/link definitions from outside. This causes ERROR: libxml-parser-perl-2.44-r0 do_package_qa: QA Issue: package libxml-parser-perl contains bad RPATH ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/recipe-sysroot/usr/lib in file ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/packages-split/libxml-parser-perl/usr/lib/perl/vendor_perl/5.24.4/auto/XML/Parser/Expat/Expat.so package libxml-parser-perl contains bad RPATH ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/recipe-sysroot/usr/lib in file ${BUILDDIR}/tmp/work/core2-64-poky-linux/libxml-parser-perl/2.44-r0/packages-split/libxml-parser-perl/usr/lib/perl/vendor_perl/5.24.4/auto/XML/Parser/Expat/Expat.so [rpaths] ERROR: libxml-parser-perl-2.44-r0 do_package_qa: QA run found fatal errors. Please consider fixing them. ERROR: libxml-parser-perl-2.44-r0 do_package_qa: Function failed: do_package_qa It's strongly encouraged to the maintainer @toddr to rework the toolchain for up to date environments. [RP: Added fix for nativesdk RPATH issues too] Signed-off-by: Jens Rehsack Signed-off-by: Richard Purdie --- meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb index c5e0ae6769..194ed6ac48 100644 --- a/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb +++ b/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb @@ -18,8 +18,22 @@ inherit cpan ptest-perl # fix up sub MakeMaker project as arguments don't get propagated though # see https://rt.cpan.org/Public/Bug/Display.html?id=28632 +do_configure_append_class-target() { + sed -E \ + -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' \ + -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g' \ + -i Makefile Expat/Makefile +} + +do_configure_append_class-nativesdk() { + sed -E \ + -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::g' \ + -i Makefile Expat/Makefile +} + do_configure_append() { - sed 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' -i Makefile Expat/Makefile + sed -e 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' \ + -i Makefile Expat/Makefile sed 's:^FULL_AR = .*:FULL_AR = ${AR}:g' -i Expat/Makefile # make sure these two do not build in parallel sed 's!^$(INST_DYNAMIC):!$(INST_DYNAMIC): $(BOOTSTRAP)!' -i Expat/Makefile -- cgit 1.2.3-korg