I used to have a working setup to build a custom Balena image with Ubuntu 18.04.
In this build I had a custom device tree and some patches.
This image was based on ESR v2020.07.2.
A while ago I updated my computer to Ubuntu 20.04, and now I’m hitting some dependency issues when trying to build my work.
When compiling the resin-image, I get an error in
hostapp_ext4 where it said my
GLIBC version wasn’t compatible.
Looking into the version history of yocto, I noticed Ubuntu 20.04 support was added later, so I tried to rebase my work onto ESR v2021, changing the relevant configurations from Warrior to Dunfell and removing a few patches that had already been fixed upstream.
This time, compiling gave me a different error, saying the correct
libgit2 version could not be found.
/usr/lib, I found version 28 instead of 27.
In both cases, it seems like the versions on my system were different from the expected versions.
So now I have 2 questions:
Is there a way to have yocto pull the correct versions of dependencies for building a layer/image?
Is it possible to make a docker container for building the image, so dependency versions don’t get messed again up when updating my system?