Solidity needs libz3-dev, but it's not in the arm64 archive

Hello!

The solidity snap is in the store, called solc there.

They recently added a requirement on the libz3-dev package. I got a little surprised because xenial doesn’t have the package for arm64.

All the other archs are there, so I’m wondering if there is a way to get libz3-dev for arm64 into the archive, or we have to compile it from source during the snap build.

pura vida

I don’t know about solidity or z3 in particular, but I do know about the Ubuntu processes. I can see that the reason why z3 isn’t available for arm64 (and s390x and ppx64el) is because the package FTBFS (failed to build from source). The build log is here: https://launchpadlibrarian.net/253786307/buildlog_ubuntu-xenial-arm64.z3_4.4.0-5_BUILDING.txt.gz

To fix this in xenial, someone would have to follow the SRU (Stable Release Update) procedures and submit a fix for the FTBFS. A localized fix would be appropriate as an SRU. Note that zesty’s z3 is based on 4.4.1 and it built on arm64, so perhaps a fix is in 4.4.1 for this…

The reason it’s not available is that the version that was available at
xenial release didn’t build from source arm64.

https://launchpad.net/ubuntu/+source/z3/4.4.0-5

Would it make more sense to build against artful than against xenial? I’m
not sure there’s a reason for a snap to use the 16.04 versions of
build-packages instead of the latest available.

the reason most snaps use the 16.04 packages is because that is the environment set up on build.snapcraft.io

it looks like for some reason mono’s mcs couldn’t find required .net DLLs. I checked the packages it pulled before it built and it seems that everything was installed as should be required, but somehow mono couldn’t find it’s own files to build a tiny part of libz3.