Bug 744

Summary: [sysroot] atom-pc/routerstationpro fails to buid during do_configure
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Jiajun Xu <jiajun.xu>
Component: coreAssignee: Dongxiao Xu <dongxiao.xu>
Status: VERIFIED FIXED QA Contact:
Severity: critical    
Priority: High CC: dexuan.cui, kunwei.tian, meta.mr.watcher, meta.watcher, richard.purdie, sgw
Version: 1.0   
Target Milestone: 1.0 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Program Management Documentation change: ---
Bug Depends on: 746    
Bug Blocks:    

Description Jiajun Xu 2011-02-20 21:27:49 UTC
commit information: 15751138968ecaca42b247685142e5f495d6eccd

On autobuilder for build 20110217, commit information as above, atom-pc/routerstationpro build will fail with following error message. It is supposed caused by sysroot issue.

#############
ERROR: Logfile of failure stored in: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/mips-poky-linux/gcc-4.5.1-r2/temp/log.do_configure.14501
Log data follows:
| ERROR: Function 'do_configure' failed (see /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/mips-poky-linux/gcc-4.5.1-r2/temp/log.do_configure.14501 for further information)
| configure.ac:32: error: Please use exactly Autoconf 2.64 instead of 2.65.
| config/override.m4:34: _GCC_AUTOCONF_VERSION_CHECK is expanded from...
| configure.ac:32: the top level
| autom4te: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/bin/m4 failed with exit status: 1
| NOTE: Running /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/mips-poky-linux/gcc-4.5.1-r2/gcc-4.5.1/configure 		 --build=x86_64-linux 		  --host=mips-poky-linux 		  --target=mips-poky-linux 		  --prefix=/usr 		  --exec_prefix=/usr 		  --bindir=/usr/bin 		  --sbindir=/usr/sbin 		  --libexecdir=/usr/libexec 		  --datadir=/usr/share 		  --sysconfdir=/etc 		  --sharedstatedir=/com 		  --localstatedir=/var 		  --libdir=/usr/lib 		  --includedir=/usr/include 		  --oldincludedir=/usr/include 		  --infodir=/usr/share/info 		  --mandir=/usr/share/man 		  --with-libtool-sysroot=/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/routerstationpro                  --with-gnu-ld                 --enable-shared                 --enable-languages=c,c++                 --enable-threads=posix                 --disable-multilib                 --enable-c99                 --enable-long-long                 --enable-symvers=gnu                 --enable-libstdcxx-pch                 --program-prefix=mips-poky-linux-                 --enable-target-optspace                  --enable-lto 			--enable-libssp 			--disable-bootstrap 			--disable-libgomp 			--disable-libmudflap 			--enable-cheaders=c_global                                        --with-local-prefix=/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/routerstationpro/usr     --with-gxx-include-dir=/usr/include/c++/                  --enable-__cxa_atexit ...
| checking build system type... x86_64-pc-linux-gnu
| checking host system type... mips-poky-linux-gnu
| checking target system type... mips-poky-linux-gnu
| checking for a BSD-compatible install... /usr/bin/install -c
| checking whether ln works... yes
| checking whether ln -s works... yes
| checking for a sed that does not truncate output... /usr/bin/sed
| checking for gawk... gawk
| checking for mips-poky-linux-gcc... mips-poky-linux-gcc -march=mips32 --sysroot=/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/routerstationpro
| checking for C compiler default output file name...
| configure: error: in `/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/mips-poky-linux/gcc-4.5.1-r2/gcc-4.5.1/build.mips-poky-linux.mips-poky-linux':
| configure: error: C compiler cannot create executables
| See `config.log' for more details.
| FATAL: oe_runconf failed
#############
Comment 1 Dongxiao Xu 2011-02-20 22:32:35 UTC
It is not supposed to be a machine specific sysroot bug.

Looking at the atom-pc build log in autobuilder: http://autobuilder.pokylinux.org:8010/builders/nightly-internal/builds/57/steps/shell_11/logs/stdio
There are early errors in do_package_setscene before this do_configure error, which is reported in BUG 746.

According to the build log, the root cause should be, if build atom-pc after emenlow, atom-pc build will try to use the sstate-cache generated by emenlow. However, due to the existence of BUG 746, some recipe's do_package_setscene will fail, for example, eglibc. Thus eglibc will be rebuild and do_setcene will be conducted, which removes all eglibc installed files. 

In the meantime of eglibc rebuild, some other package's do_configure will meet errors, such as ncurses. It will report error: C compiler cannot create executables. It should be related with the missing of eglibc files.

Therefore if BUG 746 got fixed, then this bug could also be closed. 

However this bug indicates a further question, how to ensure those essential packages (like gcc, eglibc, etc) that not explicitly listed in DEPENDS are successfully built before other recipes?

CC Richard for comments.

Thanks,
Dongxiao
Comment 2 Saul Wold 2011-02-22 07:31:43 UTC
Reoslved with 746
Comment 3 Dongxiao Xu 2011-02-22 16:49:04 UTC
Though BUG 746 got fixed, there are still some other errors when executing do_package_setscene in autobuilder, which causes eglibc rebuild and do_setscene.

Re-open this bug until the following error got fixed.

Error log:

TypeError: __init__() got an unexpected keyword argument 'output'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR:   File "do_package_setscene", line 6, in <module>
ERROR: 
ERROR:   File "do_package_setscene", line 3, in do_package_setscene
ERROR: 
ERROR:   File "sstate.bbclass", line 3, in sstate_setscene
ERROR: 
ERROR:   File "sstate.bbclass", line 46, in sstate_installpkg
ERROR: 
ERROR:   File "/srv/home/pokybuild/poky-slave/nightly-external/build/meta/lib/oe/path.py", line 57, in copytree
ERROR:     check_output(cmd, shell=True, stderr=subprocess.STDOUT)
ERROR: 
ERROR:   File "/srv/home/pokybuild/poky-slave/nightly-external/build/meta/lib/oe/path.py", line 114, in check_output
ERROR:     raise subprocess.CalledProcessError(retcode, cmd, output=output)
ERROR: 
ERROR: The code that was being executed was:
ERROR:      0002:def do_package_setscene(d):
ERROR:      0003:	sstate_setscene(d)
ERROR:      0004:
ERROR:      0005:
ERROR:  *** 0006:do_package_setscene(d)
ERROR:      0007:
ERROR: (file: 'do_package_setscene', lineno: 6, function: <module>)
ERROR:      0001:
ERROR:      0002:def do_package_setscene(d):
ERROR:  *** 0003:	sstate_setscene(d)
ERROR:      0004:
ERROR:      0005:
ERROR:      0006:do_package_setscene(d)
ERROR:      0007:
Comment 4 Richard Purdie 2011-02-23 01:47:59 UTC
This was already fixed in http://git.pokylinux.org/cgit.cgi/poky/commit/?id=b42273a909f86776a0398077563d7b3fee92f3cb
Comment 5 Jiajun Xu 2011-03-14 23:48:22 UTC
Mark the bug as VERIFIED since RC3 already has atom-pc/routerstationpro built out.