Yeah, unfortunately these crop up from time to time because some requirement wants to pull in a newer version of setuptools, sometimes indirectly, which had hard compatibility breaks with older versions of pip which come from apt on older machines series. The latest one in layer-basic was netaddr
and because of the way that the wheelhouse.txt
files were processed with charm build
, pinning it in the base layer didn’t get carried forward. The latest charm
snap changed how the wheelhouse was built to address that, so make sure you’re using that, but you might still run into it due to requirements specified in other layers.
The new framework takes the approach of bundling the actual venv into the charm, rather than just the packages. This avoids the need to build the venv at install time but has the risk of making the charm architecture dependent if any binary / compiled packages are included (and also makes the charm itself larger). I’m not sure if there is something done to mitigate that risk, but it might be worth backporting the charmcraft behavior to charm build
with a flag to choose which behavior you want.