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

Đang mở
#239 6 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
38/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp, r

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
C++
Star
173
Fork
60
Merge trung bình
1 giờ 55 phút
Pull request đã merge (30 ngày)
2

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của RcppCore/RcppParallel

Tất cả issue của RcppCore/RcppParallel

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.