-
Notifications
You must be signed in to change notification settings - Fork 414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Github action for building solc 0.3.6 - 0.6.8 on MacOS #53
Conversation
99e12be
to
915001f
Compare
Here's a dump of my notes from working on these builds. Might help someone trying to build an older version on his Mac. DependenciesStatic linkingBuilds on OSX are not completely static. These two dynamic libraries are always present:
Z3Our CMake config can link Z3 both dynamically and statically. If both are available, it depends on which is returned first by CMake's
solc links against Z3 since vesion 0.4.16 where "experimental partial support for z3 smt checker" was introduced. Boost
jsoncppCMake config will download and build jsoncpp on its own. This works at least since 0.3.6, probably earlier. If you install the latest one with Version 0.5.0 adds Version-specificsolc 0.6.1solc 0.6.1 and later compile without any workarounds. solc 0.6.0
solc 0.5.13
solc 0.5.12
solc 0.5.11
solc 0.5.10
solc 0.5.8 - 0.5.9
solc 0.5.0
solc 0.4.24
solc 0.4.23
solc 0.4.22
solc 0.4.21
solc 0.4.17
solc 0.4.16
solc 0.4.12
solc 0.4.11
solc 0.4.10
solc 0.4.9
solc 0.4.5
solc 0.4.2 - 0.4.4
solc 0.4.0 - 0.4.1
solc 0.3.6
solc 0.3.0
solc 0.1.2
Attempts to run IPC tests with cpp-ethereum/aleth
|
Looks good! I'll merge the PR containing the binaries. Please deactivate this job, then it can be merged. |
@chriseth Sure. I'll do that tomorrow. Do we want to keep it after that or just merge to have it in history and then remove? |
Let's keep it - if it's just in the history, nobody will remember it is there. |
915001f
to
53a4df3
Compare
Done and rebased. Now the action won't ever run unless someone modifies it. |
53a4df3
to
ef206e0
Compare
Action updated not to use |
Part of ethereum/solidity#9258.
This PR adds a github action that randomly selects one of the missing MacOS binaries, builds it and pushes it to a branch. When merged it will start building on schedule (every 15 minutes) until they're all available. The branch is meant to be later submitted in a separate PR (manually, after updating file lists). Then the action can be disabled or removed.
I also have the binaries already built in my own fork (#54) so maybe we want to take them instead.
I'm submitting it anyway so that I can get it reviewed and to preserve the script in case we ever need to rebuild again.
Points of note:
cpp-ethereum
and there are many dependencies that are hard to track down in binary form and would have to be built from source.libSystem
andlibc++
but that's the case even with 0.7.x builds.