tree/branch: poky/master commit: 348da93e283b2b8454fd9cde80d4b17378e2a168 With latest commit, gcc-4.7 will report do_compile failure with error that "sys/sdt.h: No such file or directory". The error is caused by that the host system has systemtap-sdt-devel installed and gcc-4.7 find the sys/sdt.h on host during do_configure, but fails to find the header during do_compile. The error log as below: ######## /distro/m1-full/self-hosted/tmp/work-shared/gcc-4.7.0+svnr186651-r1/gcc-4_7-branch/libgcc/unwind-dw2.c:42:21: fatal error: sys/sdt.h: No such file or directory compilation terminated. make[2]: *** [unwind-dw2.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory `/distro/m1-full/self-hosted/tmp/work/x86_64-poky-linux/gcc-4.7.0+svnr186651-r1/gcc-4_7-branch/build.x86_64-poky-linux.x86_64-poky-linux/x86_64-poky-linux/libgcc' make[1]: *** [all-target-libgcc] Error 2 make[1]: Leaving directory `/distro/m1-full/self-hosted/tmp/work/x86_64-poky-linux/gcc-4.7.0+svnr186651-r1/gcc-4_7-branch/build.x86_64-poky-linux.x86_64-poky-linux' make: *** [all] Error 2 ERROR: oe_runmake failed ########
Created attachment 560 [details] do_compile failed for gcc-4.7
Yep, I'm getting this too.
There is no sdt.h in target sysroot: ##### [build@jiajun-desktop build]$ find tmp/sysroots | grep sdt [build@jiajun-desktop build]$ #####
Created attachment 567 [details] log for do_configure of gcc-4.7
Created attachment 568 [details] config.log for gcc-4.7/gcc
config.log shows configure:26743: checking sys/sdt.h in the target C library configure:26752: result: yes now can you check if you have sdt.h in /usr/include on your build machine ? Just for checks can you move that header out if its there and then rerun do_configure and send me the config.log ?
I also have that problem. That header file is in /usr/include/sys, and removing it (by removing systemtap-sdt-devel, and the vast amount of perl that ultimately depends on it) fixes the build.
(In reply to comment #6) > config.log shows > > configure:26743: checking sys/sdt.h in the target C library > configure:26752: result: yes > > now can you check if you have sdt.h in /usr/include on your build machine ? > > Just for checks can you move that header out if its there and then rerun > do_configure and send me the config.log ? Hi Khem, This bug only appears if the systemtap-sdt-devel is installed on my Ubuntu x86_64 host. It seems that the configure step always looks for this header in /usr/include, regardless of the target (native or cross). Not sure how to fix this.
Try this patch http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/misc&id=df9ccc1a7b01ab9730ed3747e6b48f4ecabc822e and see if it fixes the issue.
(In reply to comment #9) > Try this patch > > http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/ > misc&id=df9ccc1a7b01ab9730ed3747e6b48f4ecabc822e > > and see if it fixes the issue. It does, thank you. I'll send the patch to the mailing list.
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=3f292735407e50eebb23044fa9f579906a94e800
verified on fedora 17 with package systemtap-sdt-devel-1.7-7.fc17.x86_64 installed