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

manylinux wheels don't pass auditwheel checks #155

Closed
SylvainCorlay opened this issue Apr 21, 2020 · 5 comments
Closed

manylinux wheels don't pass auditwheel checks #155

SylvainCorlay opened this issue Apr 21, 2020 · 5 comments
Assignees
Labels
bug Something isn't working P1

Comments

@SylvainCorlay
Copy link

Environment data

  • PTVSD version: 4.3.2 (latest)
  • OS and version: Manylinux1
  • Python version (& distribution if applicable, e.g. Anaconda): Any

Actual behavior

auditwheel fails on ptvsd's maynlinux wheels with

RuntimeError: Invalid binary wheel, found the following shared library/libraries in purelib folder:
	pydevd_cython.cpython-35m-x86_64-linux-gnu.so
	attach_linux_amd64.so
	attach_linux_x86.so
@int19h
Copy link
Contributor

int19h commented May 2, 2020

I don't think this causes any actual problems, because we load all that code conditionally, so on any platform for which those binaries aren't compiled, the debugger still works as a pure Python library, although functionality may be reduced (e.g. no attach-to-PID).

That said, we should try to fix the warning. This may be tricky because of how we are packaging our vendored copy of pydevd, though.

@int19h int19h changed the title PTVSD manylinux wheels don't pass auditwheel checks manylinux wheels don't pass auditwheel checks May 2, 2020
@int19h
Copy link
Contributor

int19h commented May 2, 2020

It still applies to debugpy, so moving it to that repo.

@int19h int19h transferred this issue from microsoft/ptvsd May 2, 2020
@SylvainCorlay
Copy link
Author

SylvainCorlay commented May 2, 2020

You may eventually need to fix it. I have read in a couple of places that the pypi folks were looking into running such checks to accept binary wheels.

@SylvainCorlay
Copy link
Author

Note that this is not an issue for us. I came across this as I was running auditwheel on xeus-python, for the Jupyter debugger.

@int19h int19h added the bug Something isn't working label Jun 19, 2020
@int19h int19h added the P2 label Aug 2, 2021
@int19h
Copy link
Contributor

int19h commented Aug 19, 2021

Turns out that those warnings are not entirely spurious. We messed up the packaging such that all our stuff goes inside purelib in the wheel, which is in violation of the manylinux PEP requirements.

Furthermore, for the attach helper .so, we have some non-conformant dependencies (glibc version) - but the codepath that conditionally loads them only checks arch, not glibc. So it's possible to install that wheel in an environment that is supposed to be able to run manylinux1 binaries, and then have it fail at runtime (instead of fallback), if you use attach-to-PID.

@int19h int19h added P1 and removed P2 labels Aug 19, 2021
@int19h int19h self-assigned this Aug 19, 2021
int19h added a commit to int19h/debugpy that referenced this issue Aug 20, 2021
int19h added a commit to int19h/debugpy that referenced this issue Aug 25, 2021
For platform-specific wheels, do not include attach-to-PID binaries for other platforms.
@int19h int19h closed this as completed in 68d82b0 Aug 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P1
Projects
None yet
Development

No branches or pull requests

2 participants