Repository navigation
Unable to Compile RcppParallel on windows on ARM64 platform: TBB Library Issue #239
Copy link
Copy link
Open
Description
I am trying to install RcppParallel on my Snapdragon X laptop, which has an ARM64-based processor, but the installation is failing with the error shown below,
install.packages("RcppParallel", type = "source")
--- Please select a CRAN mirror for use in this session ---
trying URL 'https://cloud.r-project.org/src/contrib/RcppParallel_5.1.11-1.tar.gz'
Content type 'application/x-gzip' length 1633955 bytes (1.6 MB)
downloaded 1.6 MB
- installing source package 'RcppParallel' ...
** this is package 'RcppParallel' version '5.1.11-1'
** package 'RcppParallel' successfully unpacked and MD5 sums checked
** using staged installation
** preparing to configure package 'RcppParallel' ...
*** configured file: 'R/tbb-autodetected.R.in' => 'R/tbb-autodetected.R'
*** configured file: 'src/Makevars.in' => 'src/Makevars'
*** configured file: 'src/install.libs.R.in' => 'src/install.libs.R'
** finished configure for package 'RcppParallel'
** libs
(tbb) Building TBB using bundled sources ...
make[1]: Entering directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/src'
OS: windows
arch=unknown
compiler=gcc
runtime=mingw19.1.7
tbb_build_prefix=windows_unknown_gcc_mingw19.1.7
work_dir=/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/build/windows_unknown_gcc_mingw19.1.7_release
make[1]: Leaving directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/src'
make[1]: Entering directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/src'
Created ../build/lib_release directory
make -C "../build/lib_release" -r -f ../../build/Makefile.tbb cfg=release
make[2]: Entering directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/build/lib_release'
expr: syntax error: unexpected argument '19.1.7'
expr: syntax error: unexpected argument '19.1.7'
../../build/Makefile.tbb:28: CONFIG: cfg=release arch=unknown compiler=gcc target=windows runtime=mingw19.1.7
aarch64-w64-mingw32.static.posix-clang++ -o concurrent_hash_map.o -c -MMD -O2 -DUSE_WINTHREAD -D_WIN32_WINNT=0x0502 -DMINGW_HAS_SECURE_API=1 -msse -mthreads -D__TBB_BUILD=1 -Wall -std=gnu++11 -O2 -Wall -DTBB_NO_LEGACY=1 -DTBB_USE_GCC_BUILTINS -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_hash_map.cpp
clang-19: error: unsupported option '-msse' for target 'aarch64-w64-mingw32'
clang-19: warning: argument unused during compilation: '-mthreads' [-Wunused-command-line-argument]
make[2]: *** [../../build/common_rules.inc:116: concurrent_hash_map.o] Error 1
make[2]: Leaving directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/build/lib_release'
make[1]: *** [Makefile:100: tbb_release] Error 2
make[1]: Leaving directory '/c/Users/HCKTest/AppData/Local/Temp/Rtmps5DsVa/R.INSTALL3c745d3e22f3/RcppParallel/src/tbb/src'
aarch64-w64-mingw32.static.posix-clang++ -std=gnu++17 -I"C:/PROGRA1/R-AARC1/R-451.0/include" -DNDEBUG -I../inst/include -DTBB_USE_GCC_BUILTINS -I"C:/rtools45-aarch64/aarch64-w64-mingw32.static.posix/include" -std=gnu++11 -DRCPP_PARALLEL_USE_TBB=1 -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -O2 -Wall -c init.cpp -o init.o1/R-AARC
aarch64-w64-mingw32.static.posix-clang++ -std=gnu++17 -I"C:/PROGRA1/R-451.0/include" -DNDEBUG -I../inst/include -DTBB_USE_GCC_BUILTINS -I"C:/rtools45-aarch64/aarch64-w64-mingw32.static.posix/include" -std=gnu++11 -DRCPP_PARALLEL_USE_TBB=1 -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -O2 -Wall -c options.cpp -o options.o
aarch64-w64-mingw32.static.posix-clang++ -std=gnu++17 -I"C:/PROGRA1/R-AARC1/R-451.0/include" -DNDEBUG -I../inst/include -DTBB_USE_GCC_BUILTINS -I"C:/rtools45-aarch64/aarch64-w64-mingw32.static.posix/include" -std=gnu++11 -DRCPP_PARALLEL_USE_TBB=1 -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -O2 -Wall -c tbb.cpp -o tbb.o1/R-AARC
aarch64-w64-mingw32.static.posix-clang++ -std=gnu++17 -shared -s -static-libgcc -o RcppParallel.dll tmp.def init.o options.o tbb.o -Ltbb/build/lib_release -ltbb -ltbbmalloc -LC:/rtools45-aarch64/aarch64-w64-mingw32.static.posix/lib -LC:/rtools45-aarch64/aarch64-w64-mingw32.static.posix/lib -LC:/PROGRA1/R-451.0/bin -lR
lld: error: unable to find library -ltbb
clang-19: error: linker command failed with exit code 1 (use -v to see invocation)
installing via 'install.libs.R' to C:/Program Files/R-aarch64/R-4.5.0/library/00LOCK-RcppParallel/00new/RcppParallel
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
Error: package or namespace load failed for 'RcppParallel':
.onLoad failed in loadNamespace() for 'RcppParallel', details:
call: library.dynam("RcppParallel", pkgname, libname, local = FALSE)
error: DLL 'RcppParallel' not found: maybe not installed for this architecture?
Error: loading failed
Execution halted
ERROR: loading failed - removing 'C:/Program Files/R-aarch64/R-4.5.0/library/RcppParallel'
The downloaded source packages are in
‘C:\Users\HCKTest\AppData\Local\Temp\RtmpKAHq1P\downloaded_packages’
Warning message:
In install.packages("RcppParallel", type = "source") :
installation of package ‘RcppParallel’ had non-zero exit status
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
kevinushey commentedon Sep 19, 2025
Are you able to install the development version of RcppParallel successfully?
rafaelguariento commentedon Sep 22, 2025
Same problem here, no Intel TBB available.
benediktschfr commentedon Oct 18, 2025
e4e33f4 seems to fix this. The development version installs just fine with:
bbachilles commentedon Jan 13, 2026
The workaround proposed by @benediktclaus allowed me to install RcppParallel. But is there a way to make it so that RTools can compile RcppParallel without the workaround?
eddelbuettel commentedon Jan 13, 2026
I suspect that if you pulled the development version from github (via git, as a source tarball or zipfile, ...) and installed manually it should work the same way.
pakisn't altering the sources or commands, it is just one of several ways to access the current sources containing the commit e4e33f4 fixing the arm compilation options.kevinushey commentedon Jan 13, 2026
So I suspect this is more of a "can we please submit an updated version of RcppParallel to CRAN with the current fixes"?
I can give this a shot, but some of the changes I've made are likely to require changes in reverse dependencies -- we'll have to see.