Skip to content
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

Static MacOS binaries of solc 0.3.6 - 0.6.8 #54

Merged
merged 56 commits into from
Sep 29, 2020

Conversation

cameel
Copy link
Member

@cameel cameel commented Sep 28, 2020

Part of ethereum/solidity#9258.

Binaries built by the action from #53 in my own fork of solc-bin.

I'm setting it to a draft until #53. gets reviewed and accepted (though not necessarily merged).

macosx build action added 30 commits September 28, 2020 10:43
@cameel
Copy link
Member Author

cameel commented Sep 28, 2020

I noticed that the size increases dramatically between 0.4.15 and 0.4.16. Mybe it's not finding Z3?

version size (MacOS) size (Linux) size (Windows)
0.3.6 3,7MiB
0.4.0 3,7MiB
0.4.1 3,7MiB 3,5MiB
0.4.2 3,7MiB 3,5MiB
0.4.3 3,8MiB
0.4.4 3,8MiB
0.4.5 3,8MiB 3,7MiB
0.4.6 3,8MiB 3,7MiB
0.4.7 3,9MiB 4,0MiB
0.4.8 4,2MiB 4,1MiB
0.4.9 4,3MiB 4,2MiB
0.4.10 4,4MiB 3,2MiB 4,3MiB
0.4.11 4,6MiB 3,4MiB 4,4MiB
0.4.12 4,7MiB 3,9MiB 4,8MiB
0.4.13 4,7MiB 3,9MiB 4,8MiB
0.4.14 4,6MiB 3,8MiB 5,0MiB
0.4.15 4,6MiB 3,8MiB 5,0MiB
0.4.16 24 MiB 4,3MiB 5,4MiB
0.4.17 24 MiB 4,4MiB 5,5MiB
0.4.18 24 MiB 4,4MiB 5,6MiB
0.4.19 24 MiB 4,5MiB 5,8MiB
0.4.20 24 MiB 4,5MiB 6,1MiB
0.4.21 24 MiB 4,6MiB 6,2MiB
0.4.22 25 MiB 4,7MiB 6,4MiB
0.4.23 25 MiB 4,7MiB 6,4MiB
0.4.24 25 MiB 4,8MiB 6,5MiB
0.4.25 25 MiB 4,7MiB 6,9MiB
0.4.26 25 MiB 5,8MiB 5,5MiB
0.5.0 25 MiB 4,8MiB 6,6MiB
0.5.1 26 MiB 5,5MiB 6,5MiB
0.5.2 27 MiB 5,6MiB 5,4MiB
0.5.3 27 MiB 5,7MiB 5,5MiB
0.5.4 27 MiB 6,0MiB 5,6MiB
0.5.5 27 MiB 6,1MiB 5,9MiB
0.5.6 27 MiB 6,2MiB 6,0MiB
0.5.7 27 MiB 6,3MiB 6,1MiB
0.5.8 27 MiB 6,5MiB 6,1MiB
0.5.9 28 MiB 7,0MiB 6,5MiB
0.5.10 28 MiB 7,1MiB 6,6MiB
0.5.11 28 MiB 7,4MiB 6,7MiB
0.5.12 29 MiB 7,5MiB 6,8MiB
0.5.13 29 MiB 7,5MiB 6,7MiB
0.5.14 29 MiB 7,4MiB 6,6MiB
0.5.15 29 MiB 7,4MiB 6,6MiB
0.5.16 29 MiB 7,6MiB 6,6MiB
0.5.17 29 MiB 7,6MiB 6,6MiB
0.6.0 29 MiB 7,6MiB 6,7MiB
0.6.1 29 MiB 7,8MiB 6,7MiB
0.6.2 29 MiB 8,2MiB 6,8MiB
0.6.3 30 MiB 8,3MiB 7,0MiB
0.6.4 30 MiB 8,4MiB 7,1MiB
0.6.5 30 MiB 8,5MiB 6,9MiB
0.6.6 30 MiB 8,5MiB 6,9MiB
0.6.7 30 MiB 8,7MiB 7,0MiB
0.6.8 30 MiB 8,8MiB 7,1MiB
0.6.9 31 MiB 8,9MiB 7,2MiB
0.6.10 32 MiB 8,9MiB 7,2MiB
0.6.11 32 MiB 9,0MiB 7,2MiB
0.6.12 32 MiB 9,0MiB 7,3MiB
0.7.0 32 MiB 9,1MiB 7,3MiB
0.7.1 32 MiB 9,2MiB 7,4MiB

@chriseth
Copy link
Contributor

The 0.4.16 changelog mentions "experimental partial support for z3 smt checker", so I guess it is the first releases that includes it.

@cameel
Copy link
Member Author

cameel commented Sep 28, 2020

You're right. I see that cmake/FindZ3.cmake was added in 0.4.16.

By the way, I updated the comment above to compare with Linux and Windows and size indicates that MacOS is the only one where we link Z3 statically, even in 0.7.x (not counting the emscripten builds). In understand Linux, but on Windows we'd probably want a completely static build like on Mac?

@alcuadrado
Copy link
Member

Will these new binaries be deployed to https://solc-bin.ethereum.org/ automatically when this PR gets merged?

@chriseth chriseth marked this pull request as ready for review September 29, 2020 13:00
@chriseth chriseth merged commit 54ad5d1 into ethereum:gh-pages Sep 29, 2020
@chriseth
Copy link
Contributor

@alcuadrado they should, and we will seen find out!

@cameel
Copy link
Member Author

cameel commented Sep 29, 2020

@alcuadrado Yeah, they have been synced immediately by the S3 sync action: https://github.com/ethereum/solc-bin/runs/1182207721?check_suite_focus=true

Logs show that they've been all uploaded and I checked one manually and I can indeed download it.

@sambacha
Copy link

sambacha commented Oct 29, 2020

Just a question, where brew install coreutils is located here:
https://github.com/contractshark/solc-bin/blob/8d84d0cdb4e1e4ba1c2441e60b3604b4b4e88394/.github/workflows/random-macosx-build.yml#L90

It still uses built in sed here:
https://github.com/contractshark/solc-bin/blob/8d84d0cdb4e1e4ba1c2441e60b3604b4b4e88394/.github/workflows/random-macosx-build.yml#L132

Couldn't you use gsed as it was installed already and avoid having to use the default sed?

Thanks for all this, really appreciate it

@cameel
Copy link
Member Author

cameel commented Oct 30, 2020

I didn't use coreutils all that much because I only added it to get greadlink and work around a problem with one of the test scripts trying to use readlink. I ended up just not running that script though so it's superfluous. I left it in just on the off-chance I'd need it for something else.

sed did the job for me so I didn't see any good reason to go out of my way to use gsed. But if you see one then feel free to submit a PR to modify it. Either one is fine with me as long as it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants