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

Bartosz Golaszewski brgl at bgdev.pl
Fri Oct 5 05:59:06 PDT 2018


pon., 3 wrz 2018 o 17:59 Bartosz Golaszewski <brgl at bgdev.pl> napisał(a):
>
> 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

I still wasn't able to figure out the problem. Any help is appreciated.

Bart


More information about the yocto mailing list