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

Calling etheno inside "latest" docker image container gives VersionConflict #139

Open
jsonDoge opened this issue Jun 25, 2024 · 1 comment

Comments

@jsonDoge
Copy link

jsonDoge commented Jun 25, 2024

Tried to "record" the initialization of multiple contracts for Echidna and wanted to do it through etheno using docker as per end-to-end-testing.md guide in building-secure-contracts repo.

Both building the image locally from the latest etheno repo and pulling the latest "trailofbits/etheno" from docker hub give the same error.

As per tutorial first start the container:

docker run -it -p 8545:8545 -v ~/etheno:/home/etheno/ trailofbits/etheno

Then running this command inside the container:

etheno --ganache --ganache-args="--miner.blockGasLimit 10000000" -x init.json

Result:

Traceback (most recent call last):
  File "/usr/local/bin/etheno", line 5, in <module>
    from etheno.__main__ import main
  File "/usr/local/lib/python3.8/dist-packages/etheno/__init__.py", line 1, in <module>
    from .etheno import Etheno, EthenoPlugin
  File "/usr/local/lib/python3.8/dist-packages/etheno/etheno.py", line 15, in <module>
    VERSION: str = pkg_resources.require("etheno")[0].version
  File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 1062, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 889, in resolve
    dist = self._resolve_dist(
  File "/usr/local/lib/python3.8/dist-packages/pkg_resources/__init__.py", line 935, in _resolve_dist
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (eth-typing 4.3.1 (/usr/local/lib/python3.8/dist-packages), Requirement.parse('eth-typing<3.0.0,>=2.2.1'), {'eth-utils'})

Seems like multiple packages inside the container have conflicting dependencies and if trying to manually install them you eventually hit a spot where a conflicting package version is not overlapping at all.

Has anybody else hit this or just me? Or is etheno docker just not supported that much anymore?

@jsonDoge jsonDoge changed the title Call etheno inside docker container gives VersionConflict Calling etheno inside docker container gives VersionConflict Jun 25, 2024
@jsonDoge
Copy link
Author

Okay after testing other images seems like only the tagged "latest" is broken if you pull "v0.3.2" or "release-v0.3.2" both work.

@jsonDoge jsonDoge changed the title Calling etheno inside docker container gives VersionConflict Calling etheno inside "latest" docker image container gives VersionConflict Jun 26, 2024
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

No branches or pull requests

1 participant