Unable to Compile RcppParallel on windows on ARM64 platform: TBB Library Issue

Aperta
#239 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
cpp, r

Direzione di ricerca

Reproduce the source installation on Windows ARM64, then inspect src/tbb/build/Makefile.tbb, src/tbb/build/common_rules.inc, and the generated src/Makevars. Trace architecture detection and the flags used for the bundled TBB build, especially the unsupported -msse option and missing TBB libraries. Done means RcppParallel builds and loads successfully on the reported ARM64 setup.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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💯 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.o
    aarch64-w64-mingw32.static.posix-clang++ -std=gnu++17 -I"C:/PROGRA
    1/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 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.o
    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:/PROGRA
    1/R-AARC1/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

Lingua principale
C++
Stelle
173
Fork
60
Merge medio
1h 55m
PR unite (30g)
2

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di RcppCore/RcppParallel

Tutte le issue di RcppCore/RcppParallel

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.