I'm using a Yocto-based SDK, produced by:
bitbake meta-toolchain-sdk
This creates the file
poky-eglibc-x86_64-arm-toolchain-gmae-1.3.sh
in the directory
build/tmp/deploy/sdk
I ran the installation script to install the SDK on my build system. Within the
SDK installation directory, under "sysroots", I have the following two
directories:
armv7a-vfp-neon-poky-linux-gnueabi
x86_64-pokysdk-linux
Unless I'm mistaken, the first one reflects the target environment, and the
second one contains what I need to do cross-compilation. Thus, the latter
contains the cross-compilation tools, and that's the sysroot to which all my
builds are directed.
I'm compiling the lm_sensors package for my target. As part of its work, it
tries to discover the version of the target linux kernel. To do this, it
compiles a very small file (etc/config.c) that includes the header file
<linux/kernel.h>.
As it happens, <linux/kernel.h> does *not* appear in the cross-compilation
sysroot, so this simple task fails. That header file *does* appear in the
target sysroot, but that's of no use to me in the cross-compilation process.
I believe one of the following is true:
1) The lm_sensors package is doing something entirely legitimate, and the file
<linux/kernel.h> *should* appear in the cross-compilation sysroot to support
this. The Yocto SDK build target needs a small fix so that <linux/kernel.h> is
properly added to the cross-compilation sys root. In the meantime, I can work
around this oversight by creating a symbolic link.
2) I've made a mistake in setting up my build environment because I don't
understand how cross-compilation *should* be done. If done properly, the
cross-compilation process will have access to *both* sysroots and get what it
needs from each. If this is the case, please tell me what I appear to have done
wrong.
3) Something else.
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto