Include debug symbols in MacOS for 3.9-3.11
Nobody has claimed this yet.
- Dominant language
- Shell
- Stars
- 45.1k
- Forks
- 3.3k
- Avg merge
- 19h 54m
- Merged PRs (30d)
- 21
Description
Hi 👋 ,
I'm Pablo Galindo, the 3.10 and 3.11 release manager of CPython. I am opening this issue because I would like to discuss
the possibility of automatically building dSYM files in interpreter builds in macOS so users can leverage native debuggers.
Check this issue for a summary of the problem:
https://github.com/python/cpython/issues/95973
The summary is that starting with Python 3.12 we in the core team are going to include a new option (--with-dsymutil) that automatically packages debug information in interpreter builds for macOS so users can use lldb and other debuggers to debug Python crashes and use native profilers.
For 3.12, pyenv would just need to add --with-dsymutil to the list of configure flags in macOS but for previous existing Python versions this needs to be done manually as part of the build process in pyenv. This can be easily done by calling dsymutil over the installed final Python executable and all the shared libraries when the temporary .o files are still available somewhere on disk.
Thanks for considering the feature and thank you for your fantastic work!
Please feel free to ask me any questions if something is not clear or if you have any questions.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing issue 95973 and the pyenv macOS build flow. Trace how Python 3.9–3.11 builds retain temporary .o files and produce the installed executable and shared libraries; done means automatically generating dSYM files for those interpreter builds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos, python, shell
- Domain
- build-system, developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100