Topics

#yocto #sdk How to add *-dev packages to sdk installer and not to target rootfs #yocto #sdk


Henrik Haugaard Jensen
 

We use the "standard" SDK to provide a basic linux filesystem including libraries  to be used for application development (based on cmake) in the SDK. So we need the *-dev packages for the libraries to be available in the target "sysroot" in the SDK but not in the target rootfs. How can this be configured?
BR's
Henrik


Khem Raj
 

On Thu, Oct 1, 2020 at 11:58 PM <hhj@trackman.com> wrote:

We use the "standard" SDK to provide a basic linux filesystem including libraries to be used for application development (based on cmake) in the SDK. So we need the *-dev packages for the libraries to be available in the target "sysroot" in the SDK but not in the target rootfs. How can this be configured?
standard SDK can only build applications and it has -dev packages
included in it per your image ( if you built SDK with -cpopulate_sdk)
where does target rootfs come from ?

BR's
Henrik


Henrik Haugaard Jensen
 

The target rootfs is the image which "-c populate_sdk" is build from. I have actually modified the populate_sdk recipe to include the rootfs in the sdk together with the sysroots for target and host. In this way the applications can be added to the rootfs to generate the complete fw for the device - we do not update applications with individual packages but as a complete image. Our rootfs is dd'ed to the partition and is read only for maximum reliability.
It would be nice if *-dev packages could be specified to included in the sdk sysroots only since we do not need them in the taget rootfs.

-----Original Message-----
From: Khem Raj <raj.khem@gmail.com>
Sent: Friday, 2 October 2020 19.28
To: Henrik Haugaard Jensen <hhj@trackman.com>
Cc: yocto@lists.yoctoproject.org
Subject: Re: [yocto] #yocto #sdk How to add *-dev packages to sdk installer and not to target rootfs

On Thu, Oct 1, 2020 at 11:58 PM <hhj@trackman.com> wrote:

We use the "standard" SDK to provide a basic linux filesystem including libraries to be used for application development (based on cmake) in the SDK. So we need the *-dev packages for the libraries to be available in the target "sysroot" in the SDK but not in the target rootfs. How can this be configured?
standard SDK can only build applications and it has -dev packages included in it per your image ( if you built SDK with -cpopulate_sdk) where does target rootfs come from ?

BR's
Henrik


Khem Raj
 

Perhaps extensible SDK is a better fit for you when you are building
custom rootfs with SDK.

On Sun, Oct 4, 2020 at 11:18 PM Henrik Haugaard Jensen <hhj@trackman.com> wrote:

The target rootfs is the image which "-c populate_sdk" is build from. I have actually modified the populate_sdk recipe to include the rootfs in the sdk together with the sysroots for target and host. In this way the applications can be added to the rootfs to generate the complete fw for the device - we do not update applications with individual packages but as a complete image. Our rootfs is dd'ed to the partition and is read only for maximum reliability.
It would be nice if *-dev packages could be specified to included in the sdk sysroots only since we do not need them in the taget rootfs.

-----Original Message-----
From: Khem Raj <raj.khem@gmail.com>
Sent: Friday, 2 October 2020 19.28
To: Henrik Haugaard Jensen <hhj@trackman.com>
Cc: yocto@lists.yoctoproject.org
Subject: Re: [yocto] #yocto #sdk How to add *-dev packages to sdk installer and not to target rootfs

On Thu, Oct 1, 2020 at 11:58 PM <hhj@trackman.com> wrote:

We use the "standard" SDK to provide a basic linux filesystem including libraries to be used for application development (based on cmake) in the SDK. So we need the *-dev packages for the libraries to be available in the target "sysroot" in the SDK but not in the target rootfs. How can this be configured?
standard SDK can only build applications and it has -dev packages included in it per your image ( if you built SDK with -cpopulate_sdk) where does target rootfs come from ?

BR's
Henrik


Leon Woestenberg
 

Hello Henrik,

On Mon, Oct 5, 2020 at 8:18 AM Henrik Haugaard Jensen <hhj@...> wrote:

It would be nice if *-dev packages could be specified to included in the sdk sysroots only since we do not need them in the taget rootfs.

As far as I known:
- The -dev packages do not end up in target rootfs, unless you specify them in your target image.
- The -dev packages end up in the standard SDK target sysroot if you have a DEPENDS on them.

So maybe in your case you do not have a DEPENDS in your image for the packages you want a -dev for in SDK?
Could it be you specify -dev manually for the target image?

I am not sure what happens if "myapp" mentions a DEPENDS on (say) "libpng" but not really links against it.
I am not sure if the libpng-dev ends up in the SDK (but I will try this tomorrow).

Regards,

Leon.