Updated library in to old yocto release

Hi all!

I’m trying to use a new version of a library on a old yocto release. How can I do that only changing my own layers?

Ex. I have poky/meta/recipes-support/lib1.0.1 and I need to have lib1.0.20 installed.

Thanks!

hi @Fabiano.Ferronato

Could you provide the version of the hardware and software of your module?

Which git branch are you compiling?

Hi Jaski,
-IxoraV1.1A
-release: rocko
My question is not specific for any SW or HW. Just asking what would be your advise to do use an library newer than the one provided in some release.
Ex. I have poky/meta/recipes-support/lib1.0.1 and I need to have lib1.0.20 installed.

Thanks for the Information.

The best way is to create a new meta layer for you and add the recipe of the new lib there.
Then you just need to append this lib to your image with following:

IMAGE_INSTALL_append = " name of package", (note there is a space between name and ")

It can be that the new lib is not compatible with the old yocto release and the image cannot be compiled.

Ok Jaski! Thank you!
There is a way of installing the updated (lib1.0.20) just if libX.X.X < lib1.0.20 ?

What do you mean with installing? You can try to install using opkg if you have .ipk package of this lib? By the way, which lib exactly are you talking about? Could you provide a link?

I mean installing on images. It’s not specific to one lib. Can take libusb as example.
Ex. If a client uses old release and include (copy) my layer. Client will probably have lib 1.0.1 recipe. So, if his lib recipe installs < lib1.0.20 , my layer should install lib1.0.20. If lib > lib1.0.20, do nothing.

Actually I don’t understand your use-case. If your client is using a newer lib version than yours then you should update in your side and test if your application is still working or your client should downgrade to your version.

It is very important to understand that the kernel and all the libraries go together, since there is dependency among them. So if you change the version of lib then you might have to change others libs’ versions as well and at the end maybe there is something broken, because the libs’ version are not compatible with kernel version.

So you can manage but this is very advanced task which is out of the scope of our general support.