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

Ouverte
#239 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
38/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
cpp, r

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

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💯 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

Langage dominant
C++
Étoiles
173
Forks
60
Merge moyen
1 h 55 min
PR mergées (30 j)
2

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de RcppCore/RcppParallel

Toutes les issues de RcppCore/RcppParallel

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.