> 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]

Attachment: signature.asc
Description: Message signed with OpenPGP

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to