Snap with core18 as base, not a dynamic executable issue on i386 pkgs in amd64 snap

Recently I was testing my wine snaps as base upgraded to core18 so I’m having the issue as arch i386 side is completely broken only amd64 is working in amd64 snap however on i386 host the i386 arch same snaps with base core18 are working just fine.

wine and other dep pkgs are shared through content interface to consumer snap and both snaps have base set to core18 are built from launchpad.

  • when running consumer snap I get this error though even file exists.

/snap/notepad3/x2/wine-platform/wine-stable/bin/wine: No such file or directory

  • all i386 pkgs are like this on amd64 snap, ldd output from snap shell.
ld-2.27.so:
        not a dynamic executable
ld-linux.so.2:
        not a dynamic executable
wine:
        not a dynamic executable

The core18 base doesn’t contain the bi-arch files needed to support i386 executables. Without ld-linux.so.2, a dynamically linked i386 executable isn’t going to run.

I know that there was an intention to slim down core18 in comparison to core, so I’m not sure whether this would be considered a bug or not. Maybe the answer would be to have a core18-i386 base, or similar that can be used to run 32-bit apps on AMD64? Maybe that could even be the i386 build of core18 renamed?

1 Like

ah that explains the issue, guess I’ll wait till that issue is resolved then upgrade all my snaps.

Perhaps file a bug at https://github.com/snapcore/core18/issues/new so this doesn’t get forgotten.

I don’t know what the chances of getting 32-bit compatibility added to core18 is. It might also be possible to include libc and the dynamic linker in your snap, but you’d probably need to patch the executables to find the linker. I’m not sure how you’d handle that with your wine-platform snap though, where the file locations change for each application snap.

It is very possible (I have one such snap already - gog-galaxy-wine, yes it’s wine, but a 64bit wine - that requires bi-arch support) for snaps to include bi-arch binaries. Gog-galaxy-wine will not work properly without bi-arch support when run on a 64bit system! Therefore I suggest that the “fix” of creating a core18-i386 isn’t going to fly for some developers who require both amd64 and i386 binaries in their snap to operate concurrently.