From 3cc323d99e4de7ad3261f926a9da28d54ed3ff2f Mon Sep 17 00:00:00 2001 From: pat-s Date: Mon, 20 Jul 2026 20:59:47 +0000 Subject: [PATCH] fix(patches): widen RcppParallel system-tbb scope to all oneTBB-2021 platforms (#137) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## What Widen the RcppParallel `system-tbb` registry patch scope from `[alpine, ubuntu-2604]` to `[alpine, ubuntu, redhat-10]`. ## Why #135 fixed the TBB cluster on alpine + ubuntu-2604 only. A per-image audit showed the problem is broader: RcppParallel's bundled Intel TBB build fails on **every** build image with a modern toolchain (alpine/musl, ubuntu jammy/noble/resolute g++ 11/13/15, redhat-10 GCC 14), and only redhat-8/9 (older toolchains + pre-oneTBB system TBB) tolerate the bundled build. The system-TBB fix applies wherever the image ships **oneTBB 2021+** (has the `tbb::detail::r1` namespace rstan needs): | platform | system TBB | in scope? | |---|---|---| | alpine (all) | oneTBB 2022 | ✅ | | ubuntu 2204/2404/2604 | oneTBB 2021.5 / 2021.11 / 2022 | ✅ (via `ubuntu` family token) | | redhat-10 | oneTBB 2021.11 | ✅ | | redhat-8 | TBB 2018 (classic) | ❌ pre-oneTBB → bundled | | redhat-9 | TBB 2020.3 (classic) | ❌ pre-oneTBB, bundled works → bundled | ## Requires The matching build-env-images env (`TBB_INC`/`TBB_LIB`) extended to all ubuntu + el10: build-env-images #13. Ship together. ## Verified RcppParallel + rstan build and link (no `symbol not found`) on alpine, redhat-10, ubuntu noble and ubuntu resolute; RcppParallel builds on ubuntu jammy. Reviewed-on: https://git.devxy.io/devxy/build-cran-binaries/pulls/137 --- local/patches/registry.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/local/patches/registry.json b/local/patches/registry.json index c446fda..b444986 100644 --- a/local/patches/registry.json +++ b/local/patches/registry.json @@ -4,13 +4,14 @@ "versions": "*", "platforms": [ "alpine", - "ubuntu-2604" + "ubuntu", + "redhat-10" ], "env": {}, "configure_args": [], "makevars": {}, "patch": "RcppParallel/system-tbb.patch", - "reason": "bundled Intel TBB build hangs/fails on musl (Alpine) and newer toolchains (g++ 15 on ubuntu-2604); link the system oneTBB (now in the build-env images) instead, keeping the TBB backend so dependents (rstan, ...) link TBB" + "reason": "RcppParallel bundles an old Intel TBB whose build fails on musl and modern toolchains (g++ 14/15); link the system oneTBB (2021+) shipped in the build-env images instead, keeping the TBB backend so dependents (rstan, ...) link TBB. Scoped to platforms with oneTBB 2021+ (alpine, all ubuntu, el10); el8/el9 ship pre-oneTBB TBB and are left on the bundled build." }, { "package": "fs",