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

Fix zypp dependency on Python 3.5 #597

Closed
imphil opened this issue Feb 10, 2020 · 1 comment · Fixed by #598
Closed

Fix zypp dependency on Python 3.5 #597

imphil opened this issue Feb 10, 2020 · 1 comment · Fixed by #598
Assignees
Labels
Component:Tool-and-Build Tool and build system related issues Type:Task Tasks, to-do list.

Comments

@imphil
Copy link
Contributor

imphil commented Feb 10, 2020

In CI we get

Traceback (most recent call last):
  File "/usr/local/bin/fusesoc", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3253, in <module>
    @_call_aside
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3237, in _call_aside
    f(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 3266, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 584, in _build_master
    ws.require(__requires__)
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 901, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/local/lib/python3.5/dist-packages/pkg_resources/__init__.py", line 787, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'zipp>=0.5' distribution was not found and is required by importlib-metadata
##[error]Verilog lint failed. Run 'fusesoc --cores-root . run --target=lint lowrisc:ibex:ibex_core_tracing' to check and fix all errors.

The root cause is that the zipp library did a release that doesn't support Python 3.5 any more. It's not quite clear to me yet why the dependency resolution logic in pip chooses this version then, and doesn't stick with an older version.

I've seen the same problem (with a slightly different error message) in OpTiMSoC as well for ~2 weeks and hoped it would be resolved by just waiting, turns out that's not the case.

@imphil imphil self-assigned this Feb 10, 2020
@imphil imphil added Component:Tool-and-Build Tool and build system related issues Type:Task Tasks, to-do list. labels Feb 10, 2020
@imphil
Copy link
Contributor Author

imphil commented Feb 10, 2020

OK, explanation is here: jaraco/zipp#40 (comment)

As usual, Python packaging is a mess. I'll try to come up with the least ugly solution.

imphil added a commit to imphil/ibex that referenced this issue Feb 10, 2020
The Ubuntu xenial-provided versions of setuptools and pip don't parse
all metadata present in Python packages, especially not the "minimum
required Python version" bit. More and more packages are using this
information to limit Python 3.5-support to older versions of their
packages. In this case, the problem was caused by the "zipp" package,
which is a very remote dependency of fusesoc.

Fixes lowRISC#597
imphil added a commit to imphil/ibex that referenced this issue Feb 10, 2020
The Ubuntu xenial-provided versions of setuptools and pip don't parse
all metadata present in Python packages, especially not the "minimum
required Python version" bit. More and more packages are using this
information to limit Python 3.5-support to older versions of their
packages. In this case, the problem was caused by the "zipp" package,
which is a very remote dependency of fusesoc.

Fixes lowRISC#597
imphil added a commit that referenced this issue Feb 10, 2020
The Ubuntu xenial-provided versions of setuptools and pip don't parse
all metadata present in Python packages, especially not the "minimum
required Python version" bit. More and more packages are using this
information to limit Python 3.5-support to older versions of their
packages. In this case, the problem was caused by the "zipp" package,
which is a very remote dependency of fusesoc.

Fixes #597
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:Tool-and-Build Tool and build system related issues Type:Task Tasks, to-do list.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant