> Am 05.06.2018 um 14:37 schrieb Jens Rehsack <[email protected]>: > > > >> Am 05.06.2018 um 10:43 schrieb Richard Purdie >> <[email protected]>: >> >> On Mon, 2018-05-28 at 20:55 +0200, Jens Rehsack wrote: >>> The modern the time, the improvements in ExtUtils::MakeMaker. >>> >>> Nowadays, .packlist and perllocal.pod aren't touched anymore when >>> appropriate >>> flags set during configure stage. Controlling the flags globally avoids >>> dual-life recipes need share patching. >>> >>> Further: remove prepending ${PERL_ARCHLIB} in PERL5LIB - it's wrong (search >>> order is site_lib, vendor_lib, core) - and ${PERL_ARCHLIB} contains core >>> libpath only ... >>> >>> Signed-off-by: Jens Rehsack <[email protected]> >>> --- >>> meta/classes/cpan.bbclass | 3 +-- >>> 1 file changed, 1 insertion(+), 2 deletions(-) >>> >> I put this in for testing but I see: >> >> $ SDKMACHINE="i686" bitbake nativesdk-libxml-parser-perl >> [...] >> ERROR: nativesdk-libxml-parser-perl-2.44-r0 do_package: >> nativesdk-libxml-parser-perl: chrpath command failed with exit code 7: >> b'/media/build1/poky/build/tmp-222/work/i686-nativesdk-pokysdk-linux/nativesdk-libxml-parser-perl/2.44-r0/package/opt/poky/2.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib/perl/vendor_perl/5.24.1/auto/XML/Parser/Expat/Expat.so: >> >> RPATH=/media/build1/poky/build/tmp-222/work/i686-nativesdk-pokysdk-linux/nativesdk-libxml-parser-perl/2.44-r0/recipe-sysroot/opt/poky/2.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib\n'b"new >> rpath >> '$ORIGIN/../../../../../../../../../../../../../../media/build1/poky/build/tmp-222/work/i686-nativesdk-pokysdk-linux/nativesdk-libxml-parser-perl/2.44-r0/recipe-sysroot/opt/poky/2.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib' >> too large; maximum length 176\n" >> ERROR: nativesdk-libxml-parser-perl-2.44-r0 do_package: Function failed: >> perform_packagecopy >> ERROR: Logfile of failure stored in: >> /media/build1/poky/build/tmp-222/work/i686-nativesdk-pokysdk-linux/nativesdk-libxml-parser-perl/2.44-r0/temp/log.do_package.23783 >> ERROR: Task >> (virtual:nativesdk:/media/build1/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb:do_package) >> failed with exit code '1' >> >> which seems to reproduce fairly readily both locally and on the >> autobuilders. Reverting this patch resolves it. > > Without having tested that - this seems to come from > > - export PERL5LIB="${PERL_ARCHLIB}" > > which is, when do not causing above build failure, kind-of bug-using :)
Indeed ...
I could debug the error message
> b"new rpath
> '$ORIGIN/../../../../../../../../../../../../../../media/build1/poky/build/tmp-222/work/i686-nativesdk-pokysdk-linux/nativesdk-libxml-parser-perl/2.44-r0/recipe-sysroot/opt/poky/2.5+snapshot/sysroots/i686-pokysdk-linux/usr/lib'
> too large; maximum length 176\n"
down to perform_packagecopy(d)
-> rpath_replace (d.getVar('PKGD'), d)
-> process_dir (d.getVar('PKGD'), d.getVar('PKGD') + bindir, d)
-> process_file_linux(d.expand('${CHRPATH_BIN}'),
'...usr/lib/perl/vendor_perl/5.24.1/auto/XML/Parser/Expat/Expat.so',
d.getVar('PKGD'), d.getVar('PKGD') + bindir,
os.path.normpath(d.getVar('TMPDIR', False)), d) # with d.getVar('PKGD') as
rootdir and d.getVar('PKGD') + bindir as baseprefix
-> new_rpaths.append("$ORIGIN/" + os.path.relpath(rpath,
os.path.dirname(fpath.replace(rootdir, "/"))))
I think, that overflow of RPATH is now detected but could happen (depending on
configuration even with a shortened PERL5LIB to PERL_ARCHLIB -- so it should be
fixed by computing a better relpath for $ORIGIN instead of hiding the bug again.
> Always prepending ${PERL_ARCHLIB} causes for cross-building the attempt
> of loading sdk-modules, which is evil.
>
> I'll try to have a detailed look later today or tomorrow.
Sorry for being a bit late - hope it helps to figure out the root cause.
Cheers
--
Jens Rehsack - [email protected]
signature.asc
Description: Message signed with OpenPGP
-- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
