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

Including Python debug builds #1017

Closed
jakirkham opened this issue Mar 27, 2020 · 4 comments · Fixed by conda-forge/python-feedstock#597
Closed

Including Python debug builds #1017

jakirkham opened this issue Mar 27, 2020 · 4 comments · Fixed by conda-forge/python-feedstock#597

Comments

@jakirkham
Copy link
Member

Previously we have discussed adding debug mode builds of Python in issue ( conda-forge/python-feedstock#73 ) and PR ( conda-forge/python-feedstock#86 ). However we lacked some of the prerequisite tooling to enable selection and align debug builds, which made this difficult to pursue. With the recent work on PyPy, we have wound up adding sufficient tooling to allow for debug builds to be carried out. Given this, I wanted to reraise this idea of including debug builds of Python. Is there interest in this kind of functionality? What would be the next steps? Any other thoughts? 🙂

cc @conda-forge/core

@rgommers
Copy link
Contributor

I just found this issue when wanting to write docs on how to use a debug build for Python. It's not too hard to build Python from source, but a conda-forge package would be way nicer of course. So +1 from me.

I assume this would be for the Python package only, and not propagate to debug builds of other packages? If so, the scope is fairly limited and probably worth it.

@jakirkham
Copy link
Member Author

Historically this issue has been more complicated.

In other words the debug libraries of Python were not ABI compatible with the release builds. So one needed to rebuild Python and all dependencies (so it effectively became another Python version/implementation). Python 3.8 changed the debug build to be ABI compatible with the release build. Meaning with Python 3.8+ one can swap in a debug build for a release build.

Seem to recall the Windows debug build story had more wrinkles, but don't recall what they were or whether they still apply. This comment from Ray ( conda-forge/python-feedstock#73 (comment) ) seems to suggest that Python 3.8 on Windows isn't entirely ABI compatible between debug and release builds. Idk if that got fixed in later Python versions or not.

@nikhilweee
Copy link

@rgommers can you share your documentation of building python from source with the debug symbols included? I intend to do so using conda (I don't have sudo access) but I can't find any relevant documentation.

@jakirkham
Copy link
Member Author

jakirkham commented Jun 21, 2022

This doc provides some info. There's an old PR ( conda-forge/python-feedstock#86 ) that may also offer some guidance

Edit: At this point would encourage someone interested in this to start a new PR on the python-feedstock and we can follow up from there 🙂

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

Successfully merging a pull request may close this issue.

3 participants