[yocto] native perl build wants to run target shared object

Bartosz Golaszewski brgl at bgdev.pl
Mon Sep 3 08:59:08 PDT 2018


Hi,

I'm trying to add a recipe for a new perl package: linux-inotify.

It's fairly standard package available in cpan[1].

I added the following DEPENDS and RDEPENDS:

RDEPENDS_${PN} += " \
    perl \
    perl-module-base \
"

DEPENDS += " \
    perl-native \
    libmodule-build-perl-native \
"

But I'm getting the following build error:

ERROR: linux-inotify-perl-0.05-r0 do_compile: oe_runmake failed
ERROR: linux-inotify-perl-0.05-r0 do_compile: Function failed:
do_compile (log file is located at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/temp/log.do_compile.15693)
ERROR: Logfile of failure stored in:
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/temp/log.do_compile.15693
Log data follows:
| DEBUG: Executing shell function do_compile
| NOTE: make -j 40 PASTHRU_INC= -O2 -pipe -g
-feliminate-unused-debug-types
-fdebug-prefix-map=/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0=/usr/src/debug/linux-inotify-perl/0.05-r0
-fdebug-prefix-map=/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot=
-fdebug-prefix-map=/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native=
 LD=aarch64-poky-linux-gcc
--sysroot=/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot
| /<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/perl
Build --makefile_env_macros 1
| Can't load '/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot/usr/lib/perl/5.24.1/auto/File/Glob/Glob.so'
for module File::Glob:
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot/usr/lib/perl/5.24.1/auto/File/Glob/Glob.so:
cannot open shared object file: No such file or directory at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl-native/perl/5.24.1/XSLoader.pm
line 96.
|  at /<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot/usr/lib/perl/5.24.1/File/Glob.pm
line 68.
| Compilation failed in require at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl-native/perl/vendor_perl/5.24.1/Module/Build/Base.pm
line 1263.
| BEGIN failed--compilation aborted at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl-native/perl/vendor_perl/5.24.1/Module/Build/Base.pm
line 1263.
| Compilation failed in require at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl-native/perl/vendor_perl/5.24.1/Module/Build.pm
line 17.
| BEGIN failed--compilation aborted at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/recipe-sysroot-native/usr/bin/perl-native/../../../usr/lib/perl-native/perl/vendor_perl/5.24.1/Module/Build.pm
line 17.
| Compilation failed in require at Build line 47.
| BEGIN failed--compilation aborted at Build line 47.
| Makefile:33: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: /<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/temp/run.do_compile.15693:1
exit 1 from 'exit 1'
| ERROR: Function failed: do_compile (log file is located at
/<snip!>/build/tmp/work/aarch64-poky-linux/linux-inotify-perl/0.05-r0/temp/log.do_compile.15693)
ERROR: Task (/<snip!>/meta-<snip!>/recipes-perl/linux-inotify/linux-inotify-perl_0.05.bb:do_compile)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 3669 tasks of which 3667 didn't need to
be rerun and 1 failed.

Apparently the XSLoader module tries to use glob but instead of
loading the host shared object it opens the target shared object and
fails.

I couldn't find any reason nor fix for that. Would appreciate any help.

Best regards,
Bartosz Golaszewski

[1] https://metacpan.org/pod/Linux::Inotify


More information about the yocto mailing list