Error installing RcppParallel 5.1.7 RcppParallel.so: undefined symbol:

未關閉
#202 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
需要釐清
活躍度
停滯
技術堆疊
r
領域
build-system

研究方向

Reproduce the failure with R CMD INSTALL RcppParallel_5.1.7.tar.gz on the reported Red Hat Linux, R, and GCC versions. Start with src/tbb/include/tbb/compat/iterator.h and the bundled TBB build output, then inspect the RcppParallel.so load failure. Done means the package installs and loads without the undefined-symbol error.

由索引模型根據 Issue 內容生成。

描述

Good Day!

Redhat Linux 7.9
R version 4.2.3
RcppParallel 5.1.7
gcc version 4.8

When installing RcppParallel using the command R CMD INSTALL RcppParallel_5.1.7.tar.gz it fails with below error:

  • installing to library ‘/opt/opensource/R/R-4.2.3/lib64/R/library’
  • installing source package ‘RcppParallel’ ...
    ** 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 /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/tbb/src' OS: linux arch=intel64 compiler=gcc runtime=cc4.8.5_libc2.17_kernel3.10.0 tbb_build_prefix=linux_intel64_gcc_cc4.8.5_libc2.17_kernel3.10.0 work_dir=/tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/build/linux_intel64_gcc_cc4.8.5_libc2.17_kernel3.10.0_release make[1]: Leaving directory /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/tbb/src'
    make[1]: Entering directory /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/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 /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/tbb/build/lib_release'
    ../../build/Makefile.tbb:28: CONFIG: cfg=release arch=intel64 compiler=gcc target=linux runtime=cc4.8.5_libc2.17_kernel3.10.0
    g++ -I../inst/include -o concurrent_hash_map.o -c -MMD -DDO_ITT_NOTIFY -O2 -DUSE_PTHREAD -m64 -mrtm -fpic -D__TBB_BUILD=1 -Wall -Wextra -g -O2 -DTBB_NO_LEGACY=1 -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_hash_map.cpp
    In file included from ../../include/tbb/concurrent_hash_map.h:26:0,
    from ../../src/tbb/concurrent_hash_map.cpp:17:
    ../../include/tbb/compat/iterator.h:19:11: error: expected nested-name-specifier before ‘iterator_category’
    using iterator_category = Category;
    ^
    ../../include/tbb/compat/iterator.h:19:11: error: using-declaration for non-member at class scope
    ../../include/tbb/compat/iterator.h:19:29: error: expected ‘;’ before ‘=’ token
    using iterator_category = Category;
    ^
    ../../include/tbb/compat/iterator.h:19:29: error: expected unqualified-id before ‘=’ token
    ../../include/tbb/compat/iterator.h:20:11: error: expected nested-name-specifier before ‘value_type’
    using value_type = T;
    ^
    ../../include/tbb/compat/iterator.h:20:11: error: using-declaration for non-member at class scope
    ../../include/tbb/compat/iterator.h:20:22: error: expected ‘;’ before ‘=’ token
    using value_type = T;
    ^
    ../../include/tbb/compat/iterator.h:20:22: error: expected unqualified-id before ‘=’ token
    ../../include/tbb/compat/iterator.h:21:11: error: expected nested-name-specifier before ‘difference_type’
    using difference_type = Distance;
    ^
    ../../include/tbb/compat/iterator.h:21:11: error: using-declaration for non-member at class scope
    ../../include/tbb/compat/iterator.h:21:27: error: expected ‘;’ before ‘=’ token
    using difference_type = Distance;
    ^
    ../../include/tbb/compat/iterator.h:21:27: error: expected unqualified-id before ‘=’ token
    ../../include/tbb/compat/iterator.h:22:11: error: expected nested-name-specifier before ‘pointer’
    using pointer = Pointer;
    ^
    ../../include/tbb/compat/iterator.h:22:11: error: using-declaration for non-member at class scope
    ../../include/tbb/compat/iterator.h:22:19: error: expected ‘;’ before ‘=’ token
    using pointer = Pointer;
    ^
    ../../include/tbb/compat/iterator.h:22:19: error: expected unqualified-id before ‘=’ token
    ../../include/tbb/compat/iterator.h:23:11: error: expected nested-name-specifier before ‘reference’
    using reference = Reference;
    ^
    ../../include/tbb/compat/iterator.h:23:11: error: using-declaration for non-member at class scope
    ../../include/tbb/compat/iterator.h:23:21: error: expected ‘;’ before ‘=’ token
    using reference = Reference;
    ^
    ../../include/tbb/compat/iterator.h:23:21: error: expected unqualified-id before ‘=’ token
    make[2]: *** [concurrent_hash_map.o] Error 1
    make[2]: Leaving directory /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/tbb/build/lib_release' make[1]: *** [tbb_release] Error 2 make[1]: Leaving directory /tmp/RtmpLGkjWv/R.INSTALL711a1df2519e/RcppParallel/src/tbb/src'
    g++ -std=gnu++11 -I"/opt/opensource/R/R-4.2.3/lib64/R/include" -DNDEBUG -I../inst/include -I/usr/local/include -std=gnu++11 -DRCPP_PARALLEL_USE_TBB=1 -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -fpic -g -O2 -c init.cpp -o init.o
    g++ -std=gnu++11 -I"/opt/opensource/R/R-4.2.3/lib64/R/include" -DNDEBUG -I../inst/include -I/usr/local/include -std=gnu++11 -DRCPP_PARALLEL_USE_TBB=1 -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -fpic -g -O2 -c options.cpp -o options.o
    g++ -std=gnu++11 -shared -L/opt/opensource/R/R-4.2.3/lib64/R/lib -L/usr/local/lib64 -o RcppParallel.so init.o options.o -L/opt/opensource/R/R-4.2.3/lib64/R/lib -lR
    installing via 'install.libs.R' to /opt/opensource/R/R-4.2.3/lib64/R/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: dyn.load(file, DLLpath = DLLpath, ...)
    error: unable to load shared object '/opt/opensource/R/R-4.2.3/lib64/R/library/00LOCK-RcppParallel/00new/RcppParallel/libs/RcppParallel.so':
    /opt/opensource/R/R-4.2.3/lib64/R/library/00LOCK-RcppParallel/00new/RcppParallel/libs/RcppParallel.so: undefined symbol: _ZN3tbb10interface58internal9task_base7destroyERNS_4taskE
    Error: loading failed
    Execution halted
    ERROR: loading failed
  • removing ‘/opt/opensource/R/R-4.2.3/lib64/R/library/RcppParallel’

As noticed as well, the folder path and file 00LOCK-RcppParallel/00new/RcppParallel/libs/RcppParallel.so was not created
Appreciate any suggestions.

Thanks

主要語言
C++
星號
173
分支
60
平均合併
1 小時 55 分鐘
30 天內合併 PR
2

貢獻指南

這個儲存庫沒有索引到貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

RcppCore/RcppParallel 的其他 Issue

查看 RcppCore/RcppParallel 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。