INTRODUCTION
I got an Linux built with bitbake that has an application which starts up some containers. Everytime i start this application, 'dmesg' tells me, that there is a version missmatch of dm-ioctl.h (4.35(kernel) to 4.39(application).
Im building the Linux for an Raspberrypi using a 64 bit kernel(4.9). If i go into my .bb recipe of the module that starts the containers, i see it grabs the headers frp, the recipe-sysroot where the other dm-ioctl.h is located. The application is pretty small and gets build via cmake.
this is the recipe:
DESCRIPTION = "Container management utility"
LICENSE = "CLOSED"
PACKAGES = "${PN} ${PN}-dbg"
DEPENDS = "util-linux openssl rapidjson virtual/kernel"
do_compile[depends] += "virtual/kernel:do_shared_workdir"
SRC_URI = " <files to include>"
S ="${WORKDIR}"
IMAGE_DEPLOY_DIR ?= "${@d.getVar('IMGDEPLOYDIR', False) o d.getVar('DEPLOY_DIR_IMAGE',False)}"
inherit pkgconfig cmake
sbindir = "/sbin"
bindir = "${INSTALLP}"
# Files to be packaged
FILES_${PN} = "${sbindir}/container_start"
FILES_${PN}-dbg = "${sbindir}/.debug /usr"
I already tried to modify the .bb recipe of this module with the help of this question: How to write a BitBake driver recipe which requires kernel source header files?
but it always stays the same and if i go to tmp/work/aarch64-poky-linux/ i can see, that it has the wrong header in usr/include in the recipe-sysroot folder.
QUESTIONS
Is it possible to change the recipe-sysroot so that it grabs the same headers that my kernel uses and compiles my module with them and not the 'wrong ones'
How do i get the source from where this wrong header is included (it has to come from newer kernel headers, but i cant figure out where this one is located)
thank you in advance for anyone that has some sort of answer to my questions!