macOS Python wheel _portable_lib has non-relocatable libtorch rpath
Mantenedores costumam responder em até 1 dia
@JacobSzwejbka já está trabalhando nisso.
Desde 14/10/2026.
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Summary
The macOS ExecuTorch nightly wheel installs executorch.extension.pybindings._portable_lib, but its Mach-O rpath points at a CI-only Torch directory. On a normal virtual environment, importing the module fails because @rpath/libtorch_python.dylib cannot be resolved.
It can be worked around with
DYLD_FALLBACK_LIBRARY_PATH="$VIRTUAL_ENV/lib/python3.13/site-packages/torch/lib${DYLD_FALLBACK_LIBRARY_PATH:+:$DYLD_FALLBACK_LIBRARY_PATH}" python -c 'import
│ executorch.extension.pybindings._portable_lib; print("portable pybind runtime loaded")'
Environment
- macOS
- Python 3.13.3
executorch==1.4.0.dev20260818torch==2.13.0
Reproduction
python -c "import executorch.extension.pybindings._portable_lib"
The import fails with:
dlopen(.../_portable_lib.cpython-313-darwin.so, 0x0002): Library not loaded: @rpath/libtorch_python.dylib
Reason: tried: '/Users/runner/work/_temp/conda_environment_32133036333/lib/python3.13/site-packages/torch/lib/libtorch_python.dylib' (no such file),
Evidence
otool -L venv/lib/python3.13/site-packages/executorch/extension/pybindings/_portable_lib.cpython-313-darwin.so
otool -l venv/lib/python3.13/site-packages/executorch/extension/pybindings/_portable_lib.cpython-313-darwin.so
The extension links against:
@rpath/libtorch_python.dylib
@rpath/libtorch.dylib
@rpath/libtorch_cpu.dylib
@rpath/libc10.dylib
but contains only this rpath:
Load command 25
cmd LC_RPATH
cmdsize 112
path /Users/runner/work/_temp/conda_environment_32133036333/lib/python3.13/site-packages/torch/lib (offset 12)
That build-machine path does not exist for wheel users.
Expected behavior
The wheel should be relocatable: _portable_lib should locate the libtorch*.dylib files supplied by the installed Torch wheel, for example via an appropriate relative @loader_path/@rpath installation layout or a repaired wheel rpath.
Actual behavior
The native runtime cannot load, so downstream packages cannot register native backends against it. The failure can be easy to miss when callers catch OSError to keep their Python package importable; backend availability then fails later at model load.
- Linguagem predominante
- Python
- Estrelas
- 5.1k
- Forks
- 1.2k
- Merge médio
- 1d 23h
- PRs com merge (30d)
- 713
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de pytorch/executorch
-
Portable remainder kernel: wrong sign for integers and float64 rounded to floatTalvez já em andamento @JakeStevens assumiu há 4 dias. Abertabug module: kernels triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
pytorch/executorch#23682 · 2 responsáveis ·
Mantenedores costumam responder em até 1 dia
-
enhancement triaged
Dificuldade 2/5 Meio dia Facilidade para iniciantes 68/100
pytorch/executorch#21640 ·
Mantenedores costumam responder em até 1 dia
-
bug module: microcontrollers partner: arm
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
pytorch/executorch#23812 · 2 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
[muse-glimmer] interpolate_pos_emb returns corrupted bf16 values on CPU and can segfaultTalvez já em andamento @JakeStevens assumiu há 2 dias. Abertabug module: examples triaged
pytorch/executorch#23797 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Feedback about ToolsAbertainvalid module: doc
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
pytorch/executorch#23706 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de pytorch/executorch
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
UKGovernmentBEIS/control-arena#917 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
debpalash/VoiceStudio#2937 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
aws-samples/sample-per-model-bedrock#261 ·
Mantenedores costumam responder em até 1 dia