fix(patches): widen RcppParallel system-tbb scope to all oneTBB-2021 platforms #137

Merged
pat-s merged 1 commit from t3code/rcppparallel-tbb-scope into main 2026-07-20 20:59:48 +00:00
Owner

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.

## 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.
#135 scoped the system-tbb patch to alpine + ubuntu-2604. An audit of every
build-env image showed RcppParallel's bundled Intel TBB build fails on all
platforms with a modern toolchain, and the system oneTBB is usable wherever the
image ships oneTBB 2021+.

Widen the scope to alpine, all ubuntu (jammy/noble/resolute -- the family token
now covers 2204/2404/2604), and redhat-10. el8 (TBB 2018) and el9 (TBB 2020.3)
ship pre-oneTBB TBB and keep the bundled build, so they stay out of scope.

Requires the matching build-env-images env (TBB_INC/TBB_LIB), extended to all
ubuntu and el10 there.

Verified in the build-env images: RcppParallel + rstan build and link on alpine,
redhat-10, ubuntu noble and ubuntu resolute; RcppParallel builds on ubuntu jammy.
pat-s merged commit 3cc323d99e into main 2026-07-20 20:59:48 +00:00
pat-s deleted branch t3code/rcppparallel-tbb-scope 2026-07-20 20:59:48 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
devxy/build-cran-binaries!137
No description provided.