Bitbake fails to build elfutils

Hello,
I am trying to build torizoncore docker OS with yocto, and the build of elfutils failed with
| …/…/elfutils-0.186/debuginfod/debuginfod-client.c:983:7: error: ‘CURLOPT_PROTOCOLS’ is deprecated: since 7.85.0. Use CURLOPT_PROTOCOLS_STR [-Werror=deprecated-declarations]
( and several other similar deprecation errors )

I followed this guide:

Specs:
Host OS: Ubuntu 24.04 LTS (Untested, but should be ok)
torizon OS version: 6.6.1 ( using this: repo init -u git://git.toradex.com/toradex-manifest.git -b refs/tags/6.6.1 -m torizoncore/default.xml )
MACHINE=torizon
platform - am62
poky version in poky.conf is 4.0.17

I have found a patch report for this problem (elfutils: disable deprecation errors in all builds, not just native - Patchwork) it is applied to elfutils_0.188.bb

However in my openembedded layer the elfutils recipe is elfutils_0.186.bb
Does this mean i pulled in an older openembedded version for some reason?

Greetings @stasgil,

This is a known issue. It’s the result of using an OS that is not supported with Yocto Kirkstone, like Debian 12 for example. In your case Ubuntu 24.04 is not officially supported with Yocto Kirkstone: 1 System Requirements — The Yocto Project ® 4.0.18 documentation

For now the recommend workarounds is documented here: TorizonCore Issue Tracker

Best Regards,
Jeremias

I see, thanks for the link, didnt expect it would be caused by the OS :frowning:
Thank you and have a nice day

I also switched to Ubuntu 24.04 but you can use a docker container to compile yocto as if you are under ubuntu 20.04.

Here is an example docker-compose.yml that I use:

services:
  yocto_builder:
    image: crops/yocto:ubuntu-20.04-base
    user: yoctouser
    container_name: yocto-builder
    hostname: yocto-builder
    command: ["sleep","infinity"]
    volumes:
      - /home/user/development:/home/yoctouser/development

You can check:
### 2.2.2 Setting Up to Use CROss PlatformS (CROPS)

I see, thanks for the link, didnt expect it would be caused by the OS

Yeah, Yocto still has some dependencies and requirements from the OS itself. This is why there is a list of officially supported OS to begin with.

I also switched to Ubuntu 24.04 but you can use a docker container to compile yocto as if you are under ubuntu 20.04.

This method is recommended and used by many companies who do Yocto builds regularly to guarantee a clean and consistent build environment. In fact if you look at the issue tracker I linked in my prior message, one of the workaround we suggest is to use a build container. We actually provide a ready-made container for building Torizon OS as seen in our documentation here: Build Torizon OS from Source With Yocto Project/OpenEmbedded | Toradex Developer Center

Best Regards,
Jeremias

3 Likes