RcppCore / RcppCore/RcppParallel
Store version info or MD5 hash of the shared TBB objects
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 173
- Forks
- 60
- Avg merge
- 1h 55m
- Merged PRs (30d)
- 2
Description
RcppParallel v5.1.2+ creates symlinks of TBB libraries into the package directory if externally linked (see a1fddba85101886b35123c73054c0d904f747d11 & #161). This can break RcppParallel when the original files are moved, removed, or upgraded to an incompatible version (undefined references). We need to create a function that stores the version info (e.g., TBB_INTERFACE_VERSION), or MD5 hash of the shared TBB objects, at build time and check them at runtime, before loading. If there's a mismatch, we continue with a warning that recommends reinstalling the package to relink to (or build) the TBB libraries.
It's important to ensure the integrity of the shared TBB objects, before loading them. This will also inform the users if the package loading failed due to this issue.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the RcppParallel v5.1.2 symlink handling for externally linked TBB libraries and the loading path for shared TBB objects. Investigate how TBB_INTERFACE_VERSION or an MD5 hash can be recorded at build time and checked before runtime loading. Done means mismatches produce a warning recommending package reinstallation rather than silently loading incompatible or missing libraries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend, build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100