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

Jens Rehsack rehsack at gmail.com
Tue Aug 14 16:37:27 UTC 2018


Hi Richard,

I tried:

$ bitbake libxml-parser-perl-native nativesdk-libxml-parser-perl libxml-parser-perl

WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |######################################################################################################################################################################| Time: 0:00:00
Loaded 3693 entries from dependency cache.
Parsing recipes: 100% |####################################################################################################################################################################| Time: 0:00:01
Parsing of 2421 .bb files complete (2417 cached, 4 parsed). 3685 targets, 100 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "1.39.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "arm-poky-linux-gnueabi"
MACHINE              = "wendy"
DISTRO               = "gpw"
DISTRO_VERSION       = "1.0.0"
TUNE_FEATURES        = "arm armv7a vfp neon callconvention-hard cortexa8"
TARGET_FPU           = "hard"
meta
meta-poky
meta-yocto-bsp       = "master:e82d2edca398c392309713577859724900b20190"
meta-oe
meta-python
meta-networking
meta-filesystems
meta-webserver       = "master:0691e134bf938e0712cf14d3a441bbba04727cea"
meta-cpan            = "master:7ddb7aae38ad9c8fc850026de6636fbe2a4aabdd"
meta-jens            = "master:92863f571a9b64aa5b6c6866db9eb0c8972a546f"
meta-gpw             = "master:8679df6ae6a22b15bd4127c838915dcf087bf614"

Initialising tasks: 100% |#################################################################################################################################################################| Time: 0:00:00
Checking sstate mirror object availability: 100% |#########################################################################################################################################| Time: 0:00:00
Sstate summary: Wanted 155 Found 0 Missed 310 Current 96 (0% match, 38% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 1007 tasks of which 669 didn't need to be rerun and all succeeded.

Unfortunately I don't have a SuSE based build machine nor a reasonable MIPS setup to test - but can you please describe what I need to do to reproduce that error?
Further: Ross complained regarding patch corruption by Apple Mail - I resent the patches on August, 8th (you replied that on August, 6th) using git-send-email. Did you fix the corrupted patch before?

I really want this thing being fixed - does it occurs anywhere else or can the reason the missing "--sysroot"?

When I restrict the additional sed commands to target only, how would that affect the nativesdk?

Cheers,
Jens

> Am 06.08.2018 um 17:22 schrieb richard.purdie at linuxfoundation.org:
> 
> 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

--
Jens Rehsack - rehsack at gmail.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180814/50e42580/attachment-0002.sig>


More information about the Openembedded-core mailing list