pyenv / pyenv/pyenv

Include debug symbols in MacOS for 3.9-3.11

Open
#2,466 10 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: enhancement
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.