[OE-core] [PATCH 2/2] libxml-parser-perl: fix "...contains bad RPATH"

richard.purdie at linuxfoundation.org richard.purdie at linuxfoundation.org
Mon Aug 6 15:22:50 UTC 2018


On Thu, 2018-08-02 at 10:21 +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 | 6 +++++-
>  1 file changed, 5 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..2ca8d506f4 100644
> --- a/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
> +++ b/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb
> @@ -19,7 +19,11 @@ 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() {
> -	sed 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' -i Makefile Expat/Makefile
> +	sed -E \
> +	    -e 's:--sysroot=.*\(\s\|$\):--sysroot=${STAGING_DIR_TARGET} :g' \
> +	    -e 's:-L${STAGING_LIBDIR}::g' -e 's:-I${STAGING_INCDIR}::g' \
> +	    -e 's:LD_RUN_PATH ?= ?"?[^"]*"?::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

Hi Jens,

Thanks for looking into this. Unfortunately its still not working, see
the error below for the -native version.

Cheers,

Richard


NOTE: recipe libtest-needs-perl-0.002005-r0: task do_compile: Started
ERROR: libxml-parser-perl-native-2.44-r0 do_compile: oe_runmake failed
ERROR: libxml-parser-perl-native-2.44-r0 do_compile: Function failed: do_compile (log file is located at /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/temp/log.do_compile.34225)
NOTE: recipe librepo-1.8.1-r0: task do_patch: Succeeded
NOTE: recipe libxml-namespacesupport-perl-1.12-r0: task do_configure: Succeeded
ERROR: Logfile of failure stored in: /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/temp/log.do_compile.34225
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 28 PASTHRU_INC=-isystem/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/include -O2 -pipe LD=gcc
| make[1]: Entering directory '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/XML-Parser-2.44/Expat'
| "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/bin/perl-native/perl" "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/lib/perl-native/perl/5.24.4/ExtUtils/xsubpp" -noprototypes -typemap "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/lib/perl-native/perl/5.24.4/ExtUtils/typemap" -typemap "typemap"  Expat.xs > Expat.xsc && mv Expat.xsc Expat.c
| gcc  -c -isystem/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/include -O2 -pipe  -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2   -DVERSION=\"2.44\" -DXS_VERSION=\"2.44\" -fPIC "-I/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/lib/perl-native/perl/5.24.4/CORE"   Expat.c
| cp Expat.pm ../blib/lib/XML/Parser/Expat.pm
| Running Mkbootstrap for XML::Parser::Expat ()
| cp Parser/Style/Debug.pm blib/lib/XML/Parser/Style/Debug.pm
| cp Parser/LWPExternEnt.pl blib/lib/XML/Parser/LWPExternEnt.pl
| cp Parser/Encodings/x-sjis-unicode.enc blib/lib/XML/Parser/Encodings/x-sjis-unicode.enc
| cp Parser/Encodings/windows-1251.enc blib/lib/XML/Parser/Encodings/windows-1251.enc
| cp Parser/Encodings/Japanese_Encodings.msg blib/lib/XML/Parser/Encodings/Japanese_Encodings.msg
| cp Parser/Encodings/big5.enc blib/lib/XML/Parser/Encodings/big5.enc
| cp Parser/Encodings/x-sjis-jisx0221.enc blib/lib/XML/Parser/Encodings/x-sjis-jisx0221.enc
| cp Parser/Encodings/README blib/lib/XML/Parser/Encodings/README
| cp Parser/Encodings/x-euc-jp-unicode.enc blib/lib/XML/Parser/Encodings/x-euc-jp-unicode.enc
| cp Parser/Encodings/iso-8859-4.enc blib/lib/XML/Parser/Encodings/iso-8859-4.enc
| cp Parser/Encodings/ibm866.enc blib/lib/XML/Parser/Encodings/ibm866.enc
| cp Parser/Encodings/iso-8859-7.enc blib/lib/XML/Parser/Encodings/iso-8859-7.enc
| cp Parser/Encodings/iso-8859-8.enc blib/lib/XML/Parser/Encodings/iso-8859-8.enc
| cp Parser/Style/Subs.pm blib/lib/XML/Parser/Style/Subs.pm
| cp Parser/Encodings/iso-8859-9.enc blib/lib/XML/Parser/Encodings/iso-8859-9.enc
| cp Parser/Encodings/iso-8859-3.enc blib/lib/XML/Parser/Encodings/iso-8859-3.enc
| cp Parser/Encodings/euc-kr.enc blib/lib/XML/Parser/Encodings/euc-kr.enc
| cp Parser/Encodings/windows-1252.enc blib/lib/XML/Parser/Encodings/windows-1252.enc
| cp Parser/Encodings/x-sjis-jdk117.enc blib/lib/XML/Parser/Encodings/x-sjis-jdk117.enc
| cp Parser/Encodings/iso-8859-5.enc blib/lib/XML/Parser/Encodings/iso-8859-5.enc
| cp Parser.pm blib/lib/XML/Parser.pm
| cp Parser/Style/Tree.pm blib/lib/XML/Parser/Style/Tree.pm
| cp Parser/Encodings/windows-1250.enc blib/lib/XML/Parser/Encodings/windows-1250.enc
| cp Parser/Style/Stream.pm blib/lib/XML/Parser/Style/Stream.pm
| cp Parser/Encodings/x-euc-jp-jisx0221.enc blib/lib/XML/Parser/Encodings/x-euc-jp-jisx0221.enc
| cp Parser/Encodings/iso-8859-2.enc blib/lib/XML/Parser/Encodings/iso-8859-2.enc
| cp Parser/Style/Objects.pm blib/lib/XML/Parser/Style/Objects.pm
| cp Parser/Encodings/x-sjis-cp932.enc blib/lib/XML/Parser/Encodings/x-sjis-cp932.enc
| cp Parser/Encodings/koi8-r.enc blib/lib/XML/Parser/Encodings/koi8-r.enc
| cp Parser/Encodings/windows-1255.enc blib/lib/XML/Parser/Encodings/windows-1255.enc
| chmod 644 "Expat.bs"
| rm -f ../blib/arch/auto/XML/Parser/Expat/Expat.so
| gcc   -L/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/lib -Wl,-rpath-link,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/lib -Wl,-rpath-link,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/lib -Wl,-rpath,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/usr/lib -Wl,-rpath,/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/recipe-sysroot-native/lib -Wl,-O1 -Wl,--allow-shlib-undefined -Wl,--dynamic-linker=/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm/build/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 -shared -L/usr/local/lib Expat.o  -o ../blib/arch/auto/XML/Parser/Expat/Expat.so 	\
|    -lexpat  	\
| 
| /usr/lib64/gcc/x86_64-suse-linux/8/../../../../x86_64-suse-linux/bin/ld: cannot find -lexpat
| collect2: error: ld returned 1 exit status
| make[1]: *** [Makefile:462: ../blib/arch/auto/XML/Parser/Expat/Expat.so] Error 1
| make[1]: Leaving directory '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/XML-Parser-2.44/Expat'
| make: *** [Makefile:594: subdirs] Error 2
| ERROR: oe_runmake failed
| WARNING: /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/temp/run.do_compile.34225:1 exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-mips-lsb/build/build/tmp/work/x86_64-linux/libxml-parser-perl-native/2.44-r0/temp/log.do_compile.34225)
NOTE: recipe libxml-parser-perl-native-2.44-r0: task do_compile: Failed






More information about the Openembedded-core mailing list