Bug 15461

Summary: AB-INT: liberror-perl-0.17029-r0 do_install failure on beaglebone
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Alexandre Belloni <alexandre.belloni>
Component: devtools / tool chainAssignee: Tim Orling <tim.orling>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: alexandre.belloni, meta.mr.watcher, meta.watcher, randy.macleod, tim.orling
Version: unspecified   
Target Milestone: 5.0 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Alexandre Belloni 2024-03-27 20:52:43 UTC
https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/8824/steps/14/logs/stdio

fedora38-ty-6


https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/8818/steps/14/logs/stdio

rocky9-ty-1


https://autobuilder.yoctoproject.org/typhoon/#/builders/65/builds/8814/steps/14/logs/stdio

fedora38-ty-2


| Your perl and your Config.pm seem to have different ideas about the
| architecture they are running on.
| Perl thinks: [x86_64-linux]
| Config says: [arm-linux]
| This may or may not cause problems. Please check your installation of perl
| if you have problems building this extension.
| *** Module name IN: /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl5/5.38.2/x86_64-linux/PerlIO/encoding.pm
| *** p1: /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/  p3: perl5/5.38.2/  p5: x86_64-linux/ p7: PerlIO/encoding.pm
| *** Module name OUT: /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/recipe-sysroot-native/usr/lib/perl5/5.38.2/x86_64-linux/PerlIO/encoding.pm
| Generating a Unix-style Makefile
| Writing Makefile for Error
| Writing MYMETA.yml and MYMETA.json
| ==> Your Makefile has been rebuilt. <==
| ==> Please rerun the make command.  <==
| false
| make: *** [Makefile:809: Makefile] Error 1
| ERROR: oe_runmake failed
| WARNING: /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822:187 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
| 	#1: bbfatal_log, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 187
| 	#2: die, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 171
| 	#3: oe_runmake, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 166
| 	#4: cpan_do_install, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 158
| 	#5: do_install, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 153
| 	#6: main, /home/pokybuild/yocto-worker/beaglebone/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/liberror-perl/0.17029/temp/run.do_install.3900822, line 200
NOTE: recipe liberror-perl-0.17029-r0: task do_install: Failed
ERROR: Task (/home/pokybuild/yocto-worker/beaglebone/build/meta/recipes-devtools/perl/liberror-perl_0.17029.bb:do_install) failed with exit code '1'
Comment 2 Tim Orling 2024-03-28 14:46:59 UTC
We should probably consider moving away from this module in 5.1:

https://metacpan.org/pod/Error#WARNING

Using the "Error" module is no longer recommended due to the black-magical nature of its syntactic sugar, which often tends to break. Its maintainers have stopped actively writing code that uses it, and discourage people from doing so. See the "SEE ALSO" section below for better recommendations.

https://metacpan.org/pod/Error#SEE-ALSO

SEE ALSO
See Exception::Class for a different module providing Object-Oriented exception handling, along with a convenient syntax for declaring hierarchies for them. It doesn't provide Error's syntactic sugar of try { ... }, catch { ... }, etc. which may be a good thing or a bad thing based on what you want. (Because Error's syntactic sugar tends to break.)

Error::Exception aims to combine Error and Exception::Class "with correct stringification".

TryCatch and Try::Tiny are similar in concept to Error.pm only providing a syntax that hopefully breaks less.
Comment 3 Tim Orling 2024-03-28 16:36:27 UTC
The only thing in oe-core that depends on this is coreutils-ptest. It is no longer required for coreutils-ptest and so I have submitted patches to move to meta-perl.

https://patchwork.yoctoproject.org/project/oe-core/list/?series=23601

https://patchwork.yoctoproject.org/project/oe/patch/20240328162849.1523339-1-tim.orling@konsulko.com/