Skip to contentSkip to conversation

poky master issue with kernel and gcc version

DISCUSSION Eystein Måløy Stenberg 2 participants 4 messages Jun 2, 2016

lore
Share & tools
lore
#0 lore raw

Hi,

I am trying to build a vexpress-qemu machine targe from poky's master branch, but I get this error compiling the kernel:

| /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler-gcc.h:121:30: fatal error: linux/compiler-gcc6.h: No such file or directory

Apparently it is picking gcc 6.1 and kernel 4.1.24, which do not play well together.

The best approach is probably to use kernel 4.2 or newer. Is there a bug filed for this? I would think this is affecting quite a lot of people as I am not doing any special configuration for my build.

Thank you.

Signature · 2 lines
Eystein Stenberg
Mender.io
#1 lore raw
Quoted 9 lines · Eystein Måløy Stenberg

Hi,

I am trying to build a vexpress-qemu machine targe from poky's master branch, but I get this error compiling the kernel:

| /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler-gcc.h:121:30:
fatal error: linux/compiler-gcc6.h: No such file or directory

Quoted 6 lines

Apparently it is picking gcc 6.1 and kernel 4.1.24, which do not play well together.

The best approach is probably to use kernel 4.2 or newer. Is there a bug filed for this? I would think this is affecting quite a lot of people as I am not doing any special configuration for my build.

We've already fixed all the gcc6.x builds for the supported machines in linux-yocto 4.1/4.4.

What kernel tree is that building ? upstream ? linux-yocto ? And if linux-yocto, what branch ?

Bruce

Quoted 3 lines

Thank you.

#2 lore raw
Quoted 18 lines · Bruce Ashfield
Quoted 8 lines · Eystein Måløy Stenberg

Hi,

I am trying to build a vexpress-qemu machine targe from poky's master branch, but I get this error compiling the kernel:

| /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler-gcc.h:121:30:

Quoted 8 lines

fatal error: linux/compiler-gcc6.h: No such file or directory

Apparently it is picking gcc 6.1 and kernel 4.1.24, which do not play well together.

The best approach is probably to use kernel 4.2 or newer. Is there a bug filed for this? I would think this is affecting quite a lot of people as I am not doing any special configuration for my build.

Quoted 5 lines

We've already fixed all the gcc6.x builds for the supported machines in linux-yocto 4.1/4.4.

What kernel tree is that building ? upstream ? linux-yocto ? And if linux-yocto, what branch ?

It is building linux-yocto 4.1. I have attached the compilation log, in case that helps.

What I am doing is simply building a vexpress-qemu machine with poky's master, so it should be quite straightforward to reproduce.

In particular, I am following our projects guide for creating a Mender build at https://github.com/mendersoftware/meta-mender/blob/master/README.md, but I don't think it reaches the Mender-specific layers.

Thanks for the help and let me know if there's anything else you need.

Quoted 7 lines

Bruce

Quoted 3 lines

Thank you.

Signature · 1 line
Eystein

DEBUG: Executing shell function do_compile
NOTE: make -j 4 zImage CC=arm-poky-linux-gnueabi-gcc -fuse-ld=bfd LD=arm-poky-linux-gnueabi-ld.bfd LOADADDR=0x60800000

  CHK     include/config/kernel.release
  GEN     ./Makefile
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  Using /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source as source for kernel
  HOSTCC  scripts/conmakehash
  HOSTCC  scripts/sortextable
  MKELF   scripts/mod/elfconfig.h
  CC      scripts/mod/devicetable-offsets.s
  HOSTCC  scripts/mod/sumversion.o

In file included from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler.h:54:0,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/uapi/linux/stddef.h:1,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/stddef.h:4,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/uapi/linux/posix_types.h:4,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/uapi/linux/types.h:13,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/types.h:5,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/mod_devicetable.h:11,
from /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/scripts/mod/devicetable-offsets.c:2:
/home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler-gcc.h:121:30: fatal error: linux/compiler-gcc6.h: No such file or directory

 #include gcc_header(__GNUC__)
                              ^

compilation terminated.
make[4]: *** [scripts/mod/devicetable-offsets.s] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/mod] Error 2
make[2]: *** [scripts] Error 2
make[1]: *** [sub-make] Error 2
make: *** [__sub-make] Error 2
ERROR: oe_runmake failed
ERROR: Function failed: do_compile (log file is located at /home/yocto/poky/build/tmp/work/vexpress_qemu-poky-linux-gnueabi/linux-yocto/4.1.24+gitAUTOINC+46bb64d605_86093f78f6-r0/temp/log.do_compile.14419)

#3 lore raw
Quoted 32 lines · Eystein Måløy Stenberg
Quoted 19 lines · Bruce Ashfield
Quoted 9 lines · Eystein Måløy Stenberg

Hi,

I am trying to build a vexpress-qemu machine targe from poky's master branch, but I get this error compiling the kernel:

| /home/yocto/poky/build/tmp/work-shared/vexpress-qemu/kernel-source/include/linux/compiler-gcc.h:121:30:

Quoted 8 lines

fatal error: linux/compiler-gcc6.h: No such file or directory

Apparently it is picking gcc 6.1 and kernel 4.1.24, which do not play well together.

The best approach is probably to use kernel 4.2 or newer. Is there a bug filed for this? I would think this is affecting quite a lot of people as I am not doing any special configuration for my build.

Quoted 5 lines

We've already fixed all the gcc6.x builds for the supported machines in linux-yocto 4.1/4.4.

What kernel tree is that building ? upstream ? linux-yocto ? And if linux-yocto, what branch ?

It is building linux-yocto 4.1. I have attached the compilation log, in case that helps.

What I am doing is simply building a vexpress-qemu machine with poky's master, so it should be quite straightforward to reproduce.

Quoted 6 lines

In particular, I am following our projects guide for creating a Mender build at
https://github.com/mendersoftware/meta-mender/blob/master/README.md, but I don't think it reaches the Mender-specific layers.

Thanks for the help and let me know if there's anything else you need.

I'm only validating the oe-core qemu* and yocto reference BSPs. My hands are full with them at the moment.

So setting up to build with that config isn't something I can do at the moment.

But I can assure you that qemuarm, and the beaglebone have both been built and booted with gcc6.x, so the relevant patches are present.

qemuarm login: root

root@qemuarm:~# uname -a
Linux qemuarm 4.1.24-yocto-standard #1 PREEMPT Thu May 26 13:35:31 EDT 2016 armv5tejl GNU/Linux
root@qemuarm:~# cat /proc/version
Linux version 4.1.24-yocto-standard (bruce@yow-bashfiel-d4) (gcc version 6.1.1 20160511 (GCC) ) #1 PREEMPT Thu May 26 13:35:31 EDT 2016

Bruce

Quoted 10 lines
Quoted 9 lines

Bruce

Quoted 3 lines

Thank you.