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

Pex cannot resolve pants libraries for OSX #6706

Closed
tglstory opened this issue Oct 31, 2018 · 3 comments · Fixed by #6707
Closed

Pex cannot resolve pants libraries for OSX #6706

tglstory opened this issue Oct 31, 2018 · 3 comments · Fixed by #6707
Assignees
Labels
Milestone

Comments

@tglstory
Copy link
Contributor

ci.txt

In version 1.11.0rc0, we are getting

Failed to execute PEX file, missing macosx_10_13_x86_64-cp-27-cp27m compatible dependencies for:
                     future
                     pantsbuild.pants.contrib.python.checks.checker
                     six
                     pycodestyle
                     pyflakes

for pythonstyle task. I've attached a verbosity 9 log.

@stuhood stuhood added this to the 1.11.x milestone Oct 31, 2018
@jsirois jsirois self-assigned this Oct 31, 2018
@jsirois
Copy link
Contributor

jsirois commented Oct 31, 2018

This repro's cleanly in a minimal repo. Digging...

@jsirois
Copy link
Contributor

jsirois commented Oct 31, 2018

Definitely no obvious workaround hacks here. There will need to be an rc1 with a fix.

Still digging on root cause.

@jsirois
Copy link
Contributor

jsirois commented Oct 31, 2018

Alright. For wheel releases where winding up here where we though we were inside a pex:

# The checker is already on sys.path, eg: embedded in pants.pex.
working_set = WorkingSet(entries=sys.path)
for dist in working_set.resolve([Requirement.parse(self._CHECKER_REQ)]):
pex_builder.add_direct_requirements(dist.requires())
pex_builder.add_distribution(dist)
pex_builder.add_direct_requirements([self._CHECKER_REQ])

The result is a very strange pex being built that can never work. One of its .deps/ embedded entries is all of site-packages.

jsirois added a commit to jsirois/pants that referenced this issue Oct 31, 2018
Previously the local resolve in tests was pointed to the wrong path.
This was masked on unstable master since there, version changes come
earlier than code changes, meaning the checker dist from the prior
release was being remotely resolved. On a version bump change this
masking was exposed since no remote dist of the just-bumped-version was
deployed.

Upon unmasking, a bug was also revealed in the production code
implementation of local resolves from sys.path.

Both are fixed.

Fixes pantsbuild#6706
stuhood pushed a commit that referenced this issue Nov 1, 2018
Previously the local resolve in tests was pointed to the wrong path.
This was masked on unstable master since there, version changes come
earlier than code changes, meaning the checker dist from the prior
release was being remotely resolved. On a version bump change this
masking was exposed since no remote dist of the just-bumped-version was
deployed.

Upon unmasking, a bug was also revealed in the production code
implementation of local resolves from sys.path.

Both are fixed.

Fixes #6706
stuhood pushed a commit that referenced this issue Nov 1, 2018
Previously the local resolve in tests was pointed to the wrong path.
This was masked on unstable master since there, version changes come
earlier than code changes, meaning the checker dist from the prior
release was being remotely resolved. On a version bump change this
masking was exposed since no remote dist of the just-bumped-version was
deployed.

Upon unmasking, a bug was also revealed in the production code
implementation of local resolves from sys.path.

Both are fixed.

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

Successfully merging a pull request may close this issue.

3 participants