Stage package not found in part 'x': libssl3. (new for core24 base on armhf)

I have a snap that I’m trying to migrate from base: core22 to base: core24. One of the parts (let’s call it x) requires the libssl3 package under stage-packages. This worked fine with core22, but since switching to core24 I experience the following:

  • No issues with the arm64 build
  • The armhf build fails with:
Pulling x
Fetching stage-packages
Stage package not found in part 'x': libssl3.

I’m puzzled by this, since libssl3 seems to very much be part of 24.04, also on armhf (libssl3 : armhf : Noble (24.04) : Ubuntu). What could be causing this?

FWIW one of the suggestions I got from an LLM helper was to add the arch to the package name (e.g. libssl3:armhf, in other words libssl3:$CRAFT_ARCH_BUILD_ON). Doing this didn’t change thebehavior: the build succeeds on arm64 but fails with the respective error on armhf).

Any pointers much appreciated!

Why do you stage it in the first place ?

ogra@styx:~$ find /snap/core24/current/ -name '*libssl.so*' 2>/dev/null
/snap/core24/current/usr/lib/aarch64-linux-gnu/libssl.so.3
ogra@styx:~$ 

If you stage it yourself additionally, that means you will have to re-build your snap for CVE fixes even though your base already ships it and will get the fixes automatically …

Good point…I don’t recall the specifics now. It’s possible that the right library wasn’t available in a previous base.

Removing the dependency does seem to result in a working snap when building locally, so will go with that :+1:

1 Like