Hi, On 07/01/2016 03:18 AM, Takashi Matsuzawa wrote:
Hello Yocto. Recently I am trying icecc with bitbake and amd halfway satisfied. Good to see batch of my compilation jobs consumed by my build machines on icemon is not bad. However, I can see my builds fail in certain condition eveytime and wonder if it is a known issue and a workaround exists? Symptom is the follows. 1) Using x86_64 build host and build machies. All of them are running Ubutnu 16.04. 2) My image is based on Fido (18.0). 3) I am just doing INHERIT += "icecc" and the jobs are shared with build machines correctly. 4) x86 (genericx86) build is OK with and without icecee. 5) imx (sabre6qauto) build is OK without icecc, but NG (fails) with icecc. The following is the failure log. It says relocation record error during linkage. I googled for a while and learned similar error could be seen if there is binutils (libtool) version mistmatch. Maybe a) the host-provided native toolchain and b) yocto-provided native/cross toolchain have version mismatch? But I do not see this error when I am not using icecc. I just think if it is OK without icecc, the same should be expected even if I use icecc (it just runs the same toolchain on different PCs?) ==== | x86_64-pokysdk-linux-libtool: link: x86_64-pokysdk-linux-gcc --sysroot=/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux -shared .libs/conf.o .libs/confmisc.o .libs/input.o .libs/output.o .libs/async.o .libs/error.o .libs/dlmisc.o .libs/socket.o .libs/shmarea.o .libs/userfile.o .libs/names.o -Wl,--whole-archive control/.libs/libcontrol.a mixer/.libs/libmixer.a pcm/.libs/libpcm.a timer/.libs/libtimer.a rawmidi/.libs/librawmidi.a hwdep/.libs/libhwdep.a seq/.libs/libseq.a ucm/.libs/libucm.a alisp/.libs/libalisp.a -Wl,--no-whole-archive -L/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/usr/lib -L/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/lib -lm -ldl -lpthread -lrt --sysroot=/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux -O2 -Wl,--version-script=Versions -Wl,--no-undefined -Wl,-rpath-link -Wl,/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/usr/lib -Wl,-rpath -Wl,/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/usr/lib -Wl,-O1 -Wl,-rpath-link -Wl,/mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-nativesdk-pokysdk-linux/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/lib -Wl,-rpath -Wl,/opt/narwhal/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/lib -Wl,-O1 -Wl,-soname -Wl,libasound.so.2 -o .libs/libasound.so.2.0.0 | /mnt/ssd2/yocto/dev/tmp/imx-wk1/sysroots/x86_64-linux/usr/libexec/x86_64-pokysdk-linux/gcc/x86_64-pokysdk-linux/4.9.2/ld: .libs/conf.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC | .libs/conf.o: error adding symbols: Bad value | collect2: error: ld returned 1 exit status | Makefile:484: recipe for target 'libasound.la' failed | make[2]: *** [libasound.la] Error 1 | make[2]: Leaving directory '/mnt/ssd2/yocto/dev/tmp/imx-wk1/work/x86_64-nativesdk-pokysdk-linux/nativesdk-alsa-lib/1.0.28-r0/build/src' | Makefile:538: recipe for target 'all-recursive' failed | make[1]: *** [all-recursive] Error 1 | make[1]: Leaving directory '/mnt/ssd2/yocto/dev/tmp/imx-wk1/work/x86_64-nativesdk-pokysdk-linux/nativesdk-alsa-lib/1.0.28-r0/build/src' | Makefile:399: recipe for target 'all-recursive' failed | make: *** [all-recursive] Error 1 | ERROR: oe_runmake failed | WARNING: exit code 1 from a shell command. | ERROR: Function failed: do_compile (log file is located at /mnt/ssd2/yocto/dev/tmp/imx-wk1/work/x86_64-nativesdk-pokysdk-linux/nativesdk-alsa-lib/1.0.28-r0/temp/log.do_compile.31561) ==== Some packages does not work with ICECC in a similar way some package do not work with PARALLEL_MAKE. You can work with the variable ICECC_USER_PACKAGE_BL to disable ICECC compilation for the failing packages. Best regards, /Peter<http://www.yoctoproject.org/docs/2.0.2/mega-manual/mega-manual.html#var-ICECC_USER_PACKAGE_BL>
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto