I use an embedded with a bit old kernel 2.6.37. Now we need to update rootfs with more update gcc than the one used on building the image (Instead of 4.3 need to use 5.1, because it will support c++11, which we need in application).

I thought to do it using latest buildroot for this and use it with linaro toolchain 5.1.

It first compliant (in buildroot make) that there is mismatch between kernel header 2.6.x (which I gave as toolchain configuration for buildroot) because it detects that the external toolchain I've configured is using kernel headers 4.0.0.

The thing is that I don't use any kernel modules, so I think that there is no issue in such case if there is mismatch between kernel and kernel headers. Is that correct ?

1 Answer 1


No, it is not correct. The kernel headers used to build your C library must have the same version, or an older version than the kernel you're running. So if you're running Linux 2.6.37 on your device, you must use kernel headers <= 2.6.37 to build your toolchain.

  • Is there any way to build newer toolchain (5.1, gcc which we need) with the older kernel headers ?
    – ransh
    Jan 2, 2019 at 6:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.