[OE-core] [PATCH 2/2] libxml-parser-perl: fix "...contains bad RPATH"
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Aug 22 15:56:41 UTC 2018
On Wed, 2018-08-22 at 11:04 +0200, Jens Rehsack wrote:
> 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.
>
> Signed-off-by: Jens Rehsack <sno at netbsd.org>
> ---
> meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb | 10
> +++++++++-
> 1 file changed, 9 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..4494e2286c 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,16 @@ 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() {
> - 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
Sorry, this fails to build the nativesdk version:
https://autobuilder.yocto.io/builders/nightly-x86/builds/1261/steps/Building%20Toolchain%20Images/logs/stdio
I suspect you need to strip the RPATH in the nativesdk case...
Cheers,
Richard
More information about the Openembedded-core
mailing list