Installation Troubleshooting¶
This page provides guidance on how to troubleshoot common issues that may arise when installing ethereum/execution-spec-tests.
Problem: Failed building wheel for coincurve
¶
Problem: Failed building wheel for coincurve
Installing EEST and its dependencies via uv sync --all-extras
fails with:
Stored in directory: /tmp/...
Building wheel for coincurve (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for coincurve (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [27 lines of output]
...
571 | #include <secp256k1_extrakeys.h>
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for coincurve
Solution: Install the libsecp256k1
library
On Ubuntu, you can install this library with:
sudo apt update
sudo apt-get install libsecp256k1-dev
Problem: solc
Installation issues¶
Problem: CERTIFICATE_VERIFY_FAILED
¶
Problem: Failed to ... CERTIFICATE_VERIFY_FAILED
When running fill
you might encounter the following error:
Exit: Failed to ...: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:992)>
Solution: Update your system’s CA certificates
On Ubuntu, run the following commands:
sudo apt-get update
sudo apt-get install ca-certificates
Solution: Update your system’s CA certificates
On macOS, Python provides a built-in script to install the required certificates:
/Applications/Python\ 3.11/Install\ Certificates.command
Problem: Exception: failed to compile yul source
¶
Problem: Running fill on static_tests fails with tests that contain yul source code
on ARM platforms
To resolve the issue you must acquire the solc
binary e.g. by building solidity from source. The guide below installs v0.8.28 but you might prefer to choose a different version.
Solution: Build solc from source
The following steps have been tested on Ubuntu 24.04.2 LTS ARM64:
git clone --branch v0.8.28 --depth 1 https://github.com/ethereum/solidity.git
cd solidity && mkdir build && cd build
sudo apt install build-essential libboost-all-dev z3
cmake ..
make
mv $HOME/Documents/execution-spec-tests/.venv/bin/solc $HOME/Documents/execution-spec-tests/.venv/bin/solc-x86-64
cp ./solc/solc $HOME/Documents/execution-spec-tests/.venv/bin/
chmod +x $HOME/Documents/execution-spec-tests/.venv/bin/solc
uv run solc --version
should now return the expected version.
Problem: ValueError: unsupported hash type ripemd160
¶
Problem: Running fill fails with tests that use the RIPEMD160 precompile (0x03)
When running fill
, you encounter the following error:
ValueError: unsupported hash type ripemd160
# or
ValueError: [digital envelope routines] unsupported
This is due to the removal of certain cryptographic primitives in OpenSSL 3. These were re-introduced in OpenSSL v3.0.7.
Solution: Modify OpenSSL configuration
On platforms where OpenSSL v3.0.7 is unavailable (e.g., Ubuntu 22.04), modify your OpenSSL configuration to enable RIPEMD160. Make the following changes in the OpenSSL config file:
[openssl_init]
providers = provider_sect
# List of providers to load
[provider_sect]
default = default_sect
legacy = legacy_sect
[default_sect]
activate = 1
[legacy_sect]
activate = 1
This will enable the legacy cryptographic algorithms, including RIPEMD160. See ethereum/execution-specs#506 for more information.
Other Issues Not Listed?¶
If you're facing an issue that's not listed here, you can easily report it on GitHub for resolution.
Click here to report a documentation issue related to installation
Please include the following details in your report:
- The command that triggered the issue.
- Any relevant error messages or screenshots.
- Relevant version information from the output of
uv run eest info
(if running consume from withineest
).