Topics

Need help understanding #devtool flow to library #devtool


tobies@...
 

Hello!

I am new to yocto, so I might be missing something obvious, but I have trouble getting the devtool flow to work for me. It seems that the library that ends up in the image is not the one with my modifications but instead the altered one. 

Here is what I have done:

devtool modify <libname>

This has successfully checked out the sources of the library that I want to modify and I could make my modifications and build the changed version with "devtool build vsomeip" . Now when I build an image with "devtool build-image <img-name>", devtool reports that it would build the image with addtional package "vsomeip".

But the library that ends up in the generated image does not seem to have the modified code. I do not find my additional symbols when I do an objdump on the library in 

./tmp/work/qemux86-poky-linux/<img-name>/1.0-r0/rootfs/usr/lib/libvsomeip...

On the other hand, the library built in ./tmp/work/i586-poky-linux/vsomeip/2.10.21-r0/vsomeip-2.10.21/libvsomeip.so.2.10.21 does have these symbols.

The disconnect seems to happen already within the vsomeip library build process. The library present at ./tmp/work/i586-poky-linux/vsomeip/2.10.21-r0/package/usr/lib/libvsomeip.so.2.10.21 is one _without_ my changes present (and identical in size to the one on the rootfs folder of the image).

It feels like I am missing a step of the devtool flow, or at least the starting point to debug the deployment process.

Any hints of pointers to relevant documentation would be very appreciated!

Thanks a lot!

Stephan


Quentin Schulz
 

Hi Stephan,

On Tue, Jun 30, 2020 at 04:26:01AM -0700, tobies@... wrote:
Hello!

I am new to yocto, so I might be missing something obvious, but I have trouble getting the devtool flow to work for me. It seems that the library that ends up in the image is not the one with my modifications but instead the altered one.

Here is what I have done:

devtool modify <libname>

This has successfully checked out the sources of the library that I want to modify and I could make my modifications and build the changed version with "devtool build vsomeip" . Now when I build an image with "devtool build-image <img-name>", devtool reports that it would build the image with addtional package "vsomeip".

But the library that ends up in the generated image does not seem to have the modified code. I do not find my additional symbols when I do an objdump on the library in

./tmp/work/qemux86-poky-linux/<img-name>/1.0-r0/rootfs/usr/lib/libvsomeip...

On the other hand, the library built in ./tmp/work/i586-poky-linux/vsomeip/2.10.21-r0/vsomeip-2.10.21/libvsomeip.so.2.10.21 does have these symbols.

The disconnect seems to happen already within the vsomeip library build process. The library present at ./tmp/work/i586-poky-linux/vsomeip/2.10.21-r0/package/usr/lib/libvsomeip.so.2.10.21 is one _without_ my changes present (and identical in size to the one on the rootfs folder of the image).

It feels like I am missing a step of the devtool flow, or at least the starting point to debug the deployment process.

Any hints of pointers to relevant documentation would be very appreciated!
Libraries and binaries are stripped of the debug symbols before adding
them to the "normal" package. The version with the debug symbols are
usually in the -dbg package of your recipe.

You can disable this behavior with INHIBIT_PACKAGE_STRIP in your recipe (c.f.
https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-INHIBIT_PACKAGE_STRIP)

This is Yocto's default behavior, not sure if there is anything specific
to devtool in what you described.

(BTW, until you have run devtool reset <recipe>, bitbake takes the
sources from your devtool workspace. I don't know exactly what's the
difference with bitbake build-image <img-name> and bitbake <img-name>)

Let us know if that helps,
Quentin


tobies@...
 

Hi Quentin

That was indeed the problem. The reason that my code was not working as expected was not in the devtool flow but in my code :-).

So now on to debugging my real problem.

Thanks a lot!

Stephan