diff --git a/CHANGELOG.md b/CHANGELOG.md index b8985fa..163214d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,16 @@ All notable changes to TurboLoader will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.34.1] - 2026-07-11 + +### Fixed +- **macOS wheels failed to build for 2.34.0** and never reached PyPI (Linux wheels + + sdist were unaffected): the video path's three extra `-framework` load commands + exhausted the Mach-O header slack that delocate needs to rewrite bundled-dylib + install names during wheel repair ("larger updated load commands do not fit"). + macOS links now pass `-Wl,-headerpad_max_install_names`. If you are on macOS, + use 2.34.1 — 2.34.0 has no mac wheels. + ## [2.34.0] - 2026-07-11 GPU-everything sprint: resident (pre-processed) epochs and hardware video decode on diff --git a/docs/GPU_ACCELERATION.md b/docs/GPU_ACCELERATION.md index d96938e..92b7abc 100644 --- a/docs/GPU_ACCELERATION.md +++ b/docs/GPU_ACCELERATION.md @@ -115,9 +115,9 @@ consumer stressing the output ring) — every async batch matched a distinct ref ### Build (on a real CUDA box; needs `nvcc` + toolkit, gcc 10+ for C++20) > **Prebuilt CUDA wheel (no compile):** Linux x86_64 / Python 3.10 / CUDA 13.x runtime — -> attached to the [GitHub Release](https://github.com/ALJainProjects/TurboLoader/releases/tag/v2.33.0): +> attached to the [GitHub Release](https://github.com/ALJainProjects/TurboLoader/releases/tag/v2.34.1): > ```bash -> pip install https://github.com/ALJainProjects/TurboLoader/releases/download/v2.33.0/turboloader-2.33.0+cu13-cp310-cp310-linux_x86_64.whl +> pip install https://github.com/ALJainProjects/TurboLoader/releases/download/v2.34.1/turboloader-2.34.1+cu13-cp310-cp310-linux_x86_64.whl > pip install nvidia-nvimgcodec-cu12 > ``` > Other Pythons/CUDA versions: build from source below. diff --git a/docs/installation.md b/docs/installation.md index c151b22..9c5d2b0 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -174,9 +174,9 @@ work without PyTorch installed. ### GPU image loader (NVIDIA CUDA) — build from source > **Prebuilt CUDA wheel (no compile):** Linux x86_64 / Python 3.10 / CUDA 13.x runtime — -> attached to the [GitHub Release](https://github.com/ALJainProjects/TurboLoader/releases/tag/v2.33.0): +> attached to the [GitHub Release](https://github.com/ALJainProjects/TurboLoader/releases/tag/v2.34.1): > ```bash -> pip install https://github.com/ALJainProjects/TurboLoader/releases/download/v2.33.0/turboloader-2.33.0+cu13-cp310-cp310-linux_x86_64.whl +> pip install https://github.com/ALJainProjects/TurboLoader/releases/download/v2.34.1/turboloader-2.34.1+cu13-cp310-cp310-linux_x86_64.whl > pip install nvidia-nvimgcodec-cu12 > ``` > Other Pythons/CUDA versions: build from source below. diff --git a/setup.py b/setup.py index c7a5ebb..0bc3dc8 100644 --- a/setup.py +++ b/setup.py @@ -657,6 +657,12 @@ def _compile_with_arc(obj, src, ext, cc_args, extra_postargs, pp_opts): if ct == "unix": # macOS-specific flags if system == "darwin": + # Leave Mach-O header padding for delocate's install-name rewrites + # during wheel repair. Without this, adding load commands (the video + # path links 3 extra frameworks) exhausts the header slack and + # cibuildwheel fails with "larger updated load commands do not fit" + # (broke the v2.34.0 macOS wheels). + link_opts += ["-Wl,-headerpad_max_install_names"] # Respect MACOSX_DEPLOYMENT_TARGET when the build sets it # (cibuildwheel does, matched to the runner's Homebrew dylibs). # Only fall back to an explicit minimum otherwise, and never force