[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