[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