Documentation says packages should call tbb only #if RCPP_PARALLEL_USE_TBB, which is false on Alpine Linux due to
|
# if defined(__APPLE__) || defined(__gnu_linux__) || (defined(__sun) && defined(__SVR4) && !defined(__sparc)) |
|
# define RCPP_PARALLEL_USE_TBB 1 |
|
# else |
|
# define RCPP_PARALLEL_USE_TBB 0 |
|
# endif |
I was able to successfully install RcppParallel using the system TBB (via
--configure-vars='TBB_LIB=/usr/lib TBB_INC=/usr/include'), but the above means packages LinkingTo RcppParallel won't usually use TBB anyway.
Furthermore, several packages don't seem to use TBB conditionally, at least
CaseBasedReasoning
- DER
- FLSSS
- GenomeAdmixR
- RcppMeCab
Scalelink
- evesim
junctions
- secsse
fail to compile on Alpine Linux with errors such as "error: 'tbb' does not name a type" or "error: 'tbb' has not been declared" (see the corresponding outputs at https://github.com/bastistician/Rcheck/tree/results/musl/issues).
Is there something RcppParallel[.h] could do better with regard to its default setting so TBB is used by packages on Alpine Linux if RcppParallel was installed with the system TBB?