Conversation
| # See: https://github.com/ethereum/solidity/issues/13954 | ||
| # On large runs 2x faster than on medium. 3x on xlarge. | ||
| <<: *base_ubuntu2004_xlarge | ||
| <<: *base_ubuntu2404_xlarge |
There was a problem hiding this comment.
Does this mean we drop support for Ubuntu 20.04 focal?
If so, we'll also need to add Focal to the list here https://github.com/ethereum/solidity/blob/a28b2b1c89c4b8f7cdb7b171dc06925c85ae8c10/ReleaseChecklist.md?plain=1#L97, bump this https://github.com/ethereum/solidity/blob/a28b2b1c89c4b8f7cdb7b171dc06925c85ae8c10/scripts/release_ppa.sh#L69 to noble (we can since we're fully static again) and remove it from the list here https://github.com/ethereum/solidity/blob/a28b2b1c89c4b8f7cdb7b171dc06925c85ae8c10/scripts/release_ppa.sh#L71.
We can also drop it here then https://github.com/ethereum/solidity/blob/a28b2b1c89c4b8f7cdb7b171dc06925c85ae8c10/scripts/deps-ppa/static_z3.sh#L44
I need to think whether that's all. We should generally check the release builds where possible - I guess you can trigger a dry-run docker build? Depending on the answer here, I can trigger a PPA prerelease build once things are updated (since that requires launchpad permissions)
There was a problem hiding this comment.
If we drop focal, we can also drop https://github.com/ethereum/solidity/blob/develop/scripts/docker/buildpack-deps/Dockerfile.ubuntu2004 entirely.
Respectively, what's the GCC version in ubuntu 22.04 jammy, is that enough? If so, we could bump the image to that instead and have a CI run for it - would be good to have a run close to the minimal required versions, if feasible.
There was a problem hiding this comment.
Ah, that's actually an issue - https://packages.ubuntu.com/jammy/gcc looks like it's at GCC 11 only - but GCC 11 probably has sufficient C++20 support already? If so, we could still lower the requirement to GCC 11 only, add a jammy CI run and keep it in the PPA release list - otherwise, we would need to not only move focal, but also jammy to the "copy static binaries" method in the release checklist.
There was a problem hiding this comment.
Yeah, gcc11 should be enough actually. I just set it to 12 because that's what is contained in the current debian stable.
There was a problem hiding this comment.
I just ran
docker build -t "ethereum/solc":build -f scripts/Dockerfile . --progress plain
and that went through fine.
9fa9a10 to
b55f0b4
Compare
|
Nightlies are green on this branch: https://app.circleci.com/pipelines/github/ethereum/solidity/37773/workflows/d5733444-a7ec-4439-a61d-fbf04673b8a5 |
Changelog.md
Outdated
There was a problem hiding this comment.
That's maybe a bit too inaccurate :-). I also just noticed that I actually never added a changelog entry for the switch to only semi-static builds either :-). We had
* Build System: Optionally support dynamic loading of Z3 and use that mechanism for Linux release builds.
in 0.7.6
Maybe it should rather say something like
| * Switch back to fully static binaries on Ubuntu. | |
| * Static release builds for Linux no longer depend on ``glibc``. |
or something like that - it's not really about Ubuntu and it's not all Ubuntu binaries.
I'm not too happy about the phrasing of my own suggestion either, but something along those lines.
This also overlaps with the SMTChecker changelog entry we added earlier, it's just the build system bit of that...
There was a problem hiding this comment.
Yeah that is fair enough :). Your phrasing is at least better than mine. Although I think even calling it static build when it depends on glibc is questionable. :D
There was a problem hiding this comment.
We can drop static actually -
Linux release binaries no longer depend on ``glibc``.
optinonally with a "are fully static again and" in between or so.
There was a problem hiding this comment.
I like that phrasing, nice. Fixed.
b_ubu_cxx20jobb_ubu_statichas its imaged bumped fromubuntu_2004toubuntu_2404PR adding the
ubuntu2204image: #15753Depends on PR adding
ubuntu2204build jobs: #15754