Store version info or MD5 hash of the shared TBB objects

Open
#164 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
cpp

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.

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.

Dominant language
C++
Stars
173
Forks
60
Avg merge
1h 55m
Merged PRs (30d)
2

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from RcppCore/RcppParallel

All issues in RcppCore/RcppParallel

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.