Bug 5808

Summary: sudoku-savant failed to build with "make -j 2" on routerstationpro and mpc8315e
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Yi Zhao <yi.zhao>
Component: devtools / tool chainAssignee: Laurentiu Palcu <laurentiu.palcu>
Status: RESOLVED WONTFIX QA Contact:
Severity: normal    
Priority: Undecided CC: ke.zou, meta.mr.watcher, meta.watcher, sgw
Version: 1.6   
Target Milestone: ---   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
compile_failed.log
none
dmesg for kernel oom none

Description Yi Zhao 2014-02-10 07:21:59 UTC
Created attachment 1763 [details]
compile_failed.log

Image location: http://autobuilder.yoctoproject.org/pub/nightly/20140205-1/

Steps:
1. Download sudoku-savant-1.3.tar.bz2 from http://sourceforge.net/projects/sudoku-savant/files/sudoku-savant/sudoku-savant-1.3/
2. Compile the source with "./configure && make -j 2" on routerstation or mpc8315e

Error message:
#######################
{standard input}: Assembler messages:
{standard input}:17874: Warning: end of file not at end of a line; newline inserted
{standard input}:18290: Error: missing ')' 
{standard input}: Warning: missing .end at end of assembly
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Makefile:423: recipe for target 'document.o' failed
make[2]: *** [document.o] Error 4
make[2]: *** Waiting for unfinished jobs....
mv -f .deps/canvas.Tpo .deps/canvas.Po
make[2]: Leaving directory '/home/root/BSP_Image/COMPILE_TESTS/sudoku-savant-1.3/src'
Makefile:301: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/root/BSP_Image/COMPILE_TESTS/sudoku-savant-1.3'
Makefile:237: recipe for target 'all' failed
make: *** [all] Error 2
######################

If without "-j 2" option, the source can build without problem. 
Looks like this issue related with memeory size. Routerstatonpro and mpc8315e only have 128M memory. I can reproduce the similar issue on qemuppc and qemumips with qemuparams="-m 128" option.

runqemu qemuppc vmlinux.bin core-image-sato-sdk-qemuppc.rootfs.ext3 qemuparams="-m 128"
Comment 1 Yi Zhao 2014-02-10 07:23:15 UTC
Created attachment 1764 [details]
dmesg for kernel oom
Comment 2 Saul Wold 2014-02-13 15:48:26 UTC
With limited memory, this is likely not to work at all, 2 gcc process both fighting for memory.  Since it's OOM (Out of Memory), the complier is getting killed.

Add more memory is the answer here, possibly not a valid test.