Bug 11214 - perl and systemd-boot failing on configure steps with poky-tiny policy
Summary: perl and systemd-boot failing on configure steps with poky-tiny policy
Status: RESOLVED WONTFIX
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 2.3
Hardware: x86 Multiple
: Medium+ enhancement
Target Milestone: 2.4 M4
Assignee: Aníbal Limón
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2017-03-22 16:30 UTC by Leonardo Sandoval Gonzalez
Modified: 2017-04-04 19:21 UTC (History)
2 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments
full log coming from oe-selftest -r wic (2.86 MB, application/octet-stream)
2017-03-22 16:30 UTC, Leonardo Sandoval Gonzalez
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Leonardo Sandoval Gonzalez 2017-03-22 16:30:02 UTC
Created attachment 3659 [details]
full log coming from oe-selftest -r wic

I am running 'oe-selftest -r wic' tests on my opensuse box, and most tests failed due to configuring issues (not wic related) on two recipes:perl and systemd-boot. It is important to notice that YP share states where used:


SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/dev/PATH"

So possible the error is introduce from this source.

Full log is attached but the following is the tail of the latter:


| i586-poky-linux-musl-gcc -m32 -march=i586 --sysroot=/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/recipe-sysroot -c -DPERL_CORE -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0=/usr/src/debug/perl/5.24.1-r0 -fdebug-prefix-map=/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/recipe-sysroot= -DDEBIAN -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -std=c89 -O2 -Wall -Werror=declaration-after-statement -Wextra -Wc++-compat -Wwrite-strings -fPIC miniperlmain.c
| i586-poky-linux-musl-gcc  -m32 -march=i586 --sysroot=/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/recipe-sysroot -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -fstack-protector -o miniperl \
|     opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o  -lpthread  -ldl -lm -lcrypt -lutil -lc
| mv -f miniperl miniperl-target
| ln -s hostperl miniperl
| # ./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl.  Please run make minitest; exit 1'
| ./miniperl -Ilib -f write_buildcustomize.pl
| Can't load generated lib/buildcustomize.pl:  at write_buildcustomize.pl line 112.
| makefile:391: recipe for target 'lib/buildcustomize.pl' failed
| make[1]: *** [lib/buildcustomize.pl] Error 13
| make[1]: Leaving directory '/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/perl-5.24.1'
| make[1]: Entering directory '/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/perl-5.24.1'
| ./miniperl -Ilib autodoc.pl
| Can't locate regen/regen_lib.pl:   /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-arm-lsb/build/build/tmp/work/x86_64-linux/perl-native/5.24.1-r0/recipe-sysroot-native/usr/lib/perl-native/perl/site_perl/5.24.1/regen/regen_lib.pl: Permission denied at autodoc.pl line 32.
| makefile:441: recipe for target 'pod/perlintern.pod' failed
| make[1]: *** [pod/perlintern.pod] Error 13
| make[1]: Leaving directory '/home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/perl-5.24.1'
| Makefile:37: recipe for target 'perl' failed
| make: *** [perl] Error 2
| ERROR: Function failed: do_compile (log file is located at /home/lsandov1/poky/build/tmp/work/i586-poky-linux-musl/perl/5.24.1-r0/temp/log.do_compile.10616)
NOTE: recipe perl-5.24.1-r0: task do_compile: Failed
ERROR: Task (/home/lsandov1/poky/meta/recipes-devtools/perl/perl_5.24.1.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 835 tasks of which 833 didn't need to be rerun and 2 failed.

Summary: 2 tasks failed:
  /home/lsandov1/poky/meta/recipes-bsp/systemd-boot/systemd-boot_232.bb:do_configure
  /home/lsandov1/poky/meta/recipes-devtools/perl/perl_5.24.1.bb:do_compile
Summary: There were 4 ERROR messages shown, returning a non-zero exit code.
2017-03-21 18:17:41,863 - selftest - INFO - Finished
2017-03-21 18:17:41,863 - selftest - INFO - Removing the include from local.conf
2017-03-21 18:17:41,864 - selftest - INFO - Removing the include from bblayers.conf

----------------------------------------------------------------------
Ran 46 tests in 2940.085s

FAILED (failures=46)
Comment 1 Aníbal Limón 2017-03-22 16:48:31 UTC
The error is because a sstate contaminated comes from the server with the path /home/pokybuild to search for perl libraries.

If /home/pokybuild directory exists and you don't have permissions the build fails.

I will work to avoid include /home/pokybuild in perl-native sstate.
Comment 2 Aníbal Limón 2017-03-22 17:59:52 UTC
(In reply to comment #1)
> The error is because a sstate contaminated comes from the server with the
> path /home/pokybuild to search for perl libraries.
> 
> If /home/pokybuild directory exists and you don't have permissions the build
> fails.
> 
> I will work to avoid include /home/pokybuild in perl-native sstate.

The AB PATH (/home/pokybuild) on @INC is included because perl-native is compiled with see how @INC is constructed  [1], that's the reason why we use a wrapper to add relative path's to the PERLLIB in perl-native binary [2].

May be we need to close as WONTFIX because is a known issue the other way to fix this is modifying the perl compilation.

[1] http://stackoverflow.com/questions/2526804/how-is-perls-inc-constructed-aka-what-are-all-the-ways-of-affecting-where-pe
[2] http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/perl/perl-native_5.24.1.bb#n100
Comment 3 Aníbal Limón 2017-04-04 19:21:56 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > The error is because a sstate contaminated comes from the server with the
> > path /home/pokybuild to search for perl libraries.
> > 
> > If /home/pokybuild directory exists and you don't have permissions the build
> > fails.
> > 
> > I will work to avoid include /home/pokybuild in perl-native sstate.
> 
> The AB PATH (/home/pokybuild) on @INC is included because perl-native is
> compiled with see how @INC is constructed  [1], that's the reason why we use
> a wrapper to add relative path's to the PERLLIB in perl-native binary [2].
> 
> May be we need to close as WONTFIX because is a known issue the other way to
> fix this is modifying the perl compilation.
> 
> [1]
> http://stackoverflow.com/questions/2526804/how-is-perls-inc-constructed-aka-
> what-are-all-the-ways-of-affecting-where-pe
> [2]
> http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/
> perl/perl-native_5.24.1.bb#n100

There is a known issue, and we use the wrapper [2] to make a workaround, so close at wontfix.