Skip to content

Explicit solc install required for client docker image #373

Description

@dtebbs

Recent versions of the solc binary do not run alpine linux, which causes the client setup to fail.
The compiler install process (client/zeth/core/contracts.py install_solc) has been updated to fall back to installing from source (which works, but takes a long time), and Dockerfile-client extracts an alpin-compatible binary from an ethereum/solc docker image (placing it in the appropriate place, so that install_solc becomes a no-op.

This requires the compiler version to be replicated in Dockerfile-client, and this must be maintained to match the value in client/zeth/core/constants.py, otherwise the alpine binary will be unused and install_solc will perform a source install (instead of throwing an error).

If the solc binary releases support alpine in the future we can remove the explicit install in Dockerfile-client. Alternatively, we could use a script of some kind to retrieve the alpine binary based on the version in constants.py (note the this script probably has to run outside of the container if it extracts from the docker image).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildTask related to the compilation and execution of the projectdockerTask related to docker containerizationsolidityTask related to the Solidity part of the code base

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions