You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级R与RStudio后brms编译报错求助:tbb相关未定义引用

R 4.2.1 + papaja编译报错:tbb库未定义引用问题

问题详情

  • 环境配置:R 4.2.1,RStudio 2022.07.1 Build 554,已安装rtools42
  • 异常现象:此前可正常编译的papaja旧文档,当前编译时触发链接错误,报错信息如下:
Error in compileCode(f, code, language = language, verbose = verbose) :
C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file425c5d805023.o:file425c5d805023.cpp:(.text$_ZN3tbb8internal26task_scheduler_observer_v3D0Ev[_ZN3tbb8internal26task_scheduler_observer_v3D0Ev]+0x1d): undefined reference to tbb::internal::task_scheduler_observer_v3::observe(bool)'C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file425c5d805023.o:file425c5d805023.cpp:(.text$_ZN3tbb10interface623task_scheduler_observerD1Ev[_ZN3tbb10interface623task_scheduler_observerD1Ev]+0x1d): undefined reference to tbb::internal::task_scheduler_observer_v3::observe(bool)'C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file425c5d805023.o:file425c5d805023.cpp:(.text$_ZN3tbb10interface623task_scheduler_observerD1Ev[_ZN3tbb10interface623task_scheduler_observerD1Ev]+0x3a): undefined reference to `tbb::internal::task_scheduler_observer_v3::observe(bool)'C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file425c5d805023.o:file425c5d805023.cpp:(.text$_ZN3tbb10interface
Error in sink(type = "output") : invalid connection

解决步骤

  • 重新安装依赖tbb的包:R 4.2.x对tbb库的依赖版本有更新,找到项目中用到并行计算(如lme4、glmmTMB等)或与papaja联动的包,执行源码安装:
    install.packages("目标包名", type = "source")
    
  • 手动指定编译链接选项:在编译前添加环境变量,强制链接tbb库:
    Sys.setenv(PKG_LIBS = "-ltbb")
    
    若路径识别有问题,可明确指定rtools42中的tbb路径:
    options(compiler.cppflags = "-IC:/rtools42/x86_64-w64-mingw32.static.posix/include")
    options(compiler.lflags = "-LC:/rtools42/x86_64-w64-mingw32.static.posix/lib -ltbb")
    
  • 清理编译缓存:删除项目目录下的.Rhistory、.RData以及临时编译文件(如file*.o、file*.cpp),重启RStudio后重新编译。
  • 检查rtools42环境变量:确认rtools42的bin目录已加入系统PATH,执行Sys.which("ld")验证输出是否指向C:/rtools42/x86_64-w64-mingw32.static.posix/bin/ld.exe。
  • 降级兼容包版本:若上述方法无效,可尝试安装与R 4.2.1兼容的旧版本依赖包,例如:
    devtools::install_version("目标包名", version = "兼容版本号")
    

内容的提问来源于stack exchange,提问作者jenniferroters

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 03:10:35