[yocto] header file missing in populated SDK

ChenQi Qi.Chen at windriver.com
Mon Sep 2 19:05:56 PDT 2013


On 09/02/2013 10:56 PM, Hans Beckérus wrote:
> Hi. We are having some issues figuring out why one of our header files
> fails to be installed properly into the SDK. The header file is
> currently installed using a few lines in one of our recipe:
>
> do_install_append() {
>          install -m 0644 ${S}/foo.h
> ${STAGING_DIR}/${MACHINE}${includedir}/linux/foo.h
> }
Please don't do that.
I think just installing the foo.h into the ${D}${includedir} would do. 
And foo.h will end up in the FOO-dev package.
Make sure that the FOO package is in the IMAGE_INSTALL list, and then 
use 'bitbake <your-image-recipe> -cpopulate_sdk' command to populate the 
SDK.

> foo.h ends up ok in our build/tmp/sysroots,
sysroots != SDK
The files under build/tmp/sysroots are usually generated by the 
do_populate_sysroot task of each recipe.

 From my understanding, SDK is composed of two parts, the target part 
and the nativesdk part.
The nativesdk part is determined by the TOOLCHAIN_HOST_TASK.
And the target part is determined by the TOOLCHAIN_TARGET_TASK.
The reason that we could only ensure that FOO is in IMAGE_INSTALL is 
because in image.bbclass, we have:
TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} 
${FEATURE_INSTALL}"

The process of populating SDK is also composed of two parts, installing 
the target packages and installing the nativesdk packages. See 
populate_sdk_xxx.bbclass for more details.

Best Regards,
Chen Qi

>   but it does not make it to the SDK.
> Is our do_install_append wrong in some way, does it have to be updated
> to support SDK builds? Maybe it is wrong to use ${MACHINE} here?
>
> Thanks.
> Hans
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
>




More information about the yocto mailing list