Error in compileCode(f, code, language = language, verbose = verbose)

Hi all, I’ve run into an issue with my brms/RStan install on a Remote Desktop Connection I have set up. I have not run into this issue locally and am able to run brms/RStan fine.

Below is my session info:

> sessionInfo()
R version 4.2.3 (2023-03-15 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8  LC_CTYPE=English_United States.utf8    LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                           LC_TIME=English_United States.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] StanHeaders_2.21.0-7 brms_2.19.0          Rcpp_1.0.10         

loaded via a namespace (and not attached):
 [1] Brobdingnag_1.2-9    gtools_3.9.4         RcppParallel_5.1.7   threejs_0.3.3        shiny_1.7.4          posterior_1.4.1     
 [7] distributional_0.3.2 stats4_4.2.3         tensorA_0.36.2       pillar_1.9.0         backports_1.4.1      lattice_0.20-45     
[13] glue_1.6.2           digest_0.6.31        promises_1.2.0.1     checkmate_2.2.0      colorspace_2.1-0     htmltools_0.5.5     
[19] httpuv_1.6.11        Matrix_1.5-3         plyr_1.8.8           dygraphs_1.1.1.6     pkgconfig_2.0.3      rstan_2.21.8        
[25] xtable_1.8-4         mvtnorm_1.1-3        scales_1.2.1         processx_3.8.1       later_1.3.1          tibble_3.2.1        
[31] bayesplot_1.10.0     generics_0.1.3       farver_2.1.1         ggplot2_3.4.2        ellipsis_0.3.2       DT_0.28             
[37] withr_2.5.0          shinyjs_2.1.0        cli_3.6.1            crayon_1.5.2         magrittr_2.0.3       mime_0.12           
[43] ps_1.7.5             fansi_1.0.4          nlme_3.1-162         xts_0.13.1           pkgbuild_1.4.0       colourpicker_1.2.0  
[49] prettyunits_1.1.1    tools_4.2.3          loo_2.6.0            lifecycle_1.0.3      matrixStats_0.63.0   stringr_1.5.0       
[55] munsell_0.5.0        callr_3.7.3          compiler_4.2.3       rlang_1.1.1          grid_4.2.3           htmlwidgets_1.6.2   
[61] crosstalk_1.2.0      igraph_1.4.2         miniUI_0.1.1.1       base64enc_0.1-3      codetools_0.2-19     gtable_0.3.3        
[67] inline_0.3.19        abind_1.4-5          markdown_1.7         reshape2_1.4.4       R6_2.5.1             gridExtra_2.3       
[73] rstantools_2.3.1     zoo_1.8-12           bridgesampling_1.1-2 dplyr_1.1.2          fastmap_1.1.1        utf8_1.2.3          
[79] shinystan_2.6.0      shinythemes_1.2.0    stringi_1.7.12       parallel_4.2.3       vctrs_0.6.2          tidyselect_1.2.0    
[85] coda_0.19-4   

data("mtcars")
head(mtcars)
fit <- brm(mpg ~ cyl + hp, data = mtcars)

When running this fit

I get the following error while compiling Stan program…

Error in compileCode(f, code, language = language, verbose = verbose) : 
  C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file50d4274be16.o:file50d4274be16.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: file50d4274be16.o:file50d4274be16.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: file50d4274be16.o:file50d4274be16.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: file50d4274be16.o:file50d4274be16.cpp:(.text$_ZN3tbb10interface623task_
Error in sink(type = "output") : invalid connection

I have tried installing StanHeaders from source which threw me this error

Error in compileCode(f, code, language = language, verbose = verbose) : 
  C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file62585e4b425b.o:file62585e4b425b.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: file62585e4b425b.o:file62585e4b425b.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: file62585e4b425b.o:file62585e4b425b.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: file62585e4b425b.o:file62585e4b425b.cpp:(.text$_ZN3tbb10interface
Error in sink(type = "output") : invalid connection

I also did run the following:

library(rstan)
stancode <- 'data {real y_mean;} parameters {real y;} model {y ~ normal(y_mean,1);}'
mod <- stan_model(model_code = stancode, verbose = TRUE)

and this was the error

Compilation ERROR, function(s)/method(s) not created!
Error in compileCode(f, code, language = language, verbose = verbose) : 
  C:\rtools42\x86_64-w64-mingw32.static.posix\bin/ld.exe: file62581ab26063.o:file62581ab26063.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: file62581ab26063.o:file62581ab26063.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: file62581ab26063.o:file62581ab26063.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: file62581ab26063.o:file62581ab26063.cpp:(.text$_ZN3tbb10interface

Any advice would be helpful. Thank you!

Was able to fix this myself so feel free to close! Realized that I was on Rtools4.2 and just installed Rstan and StanHeaders using the following:

install.packages("StanHeaders", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))
install.packages("rstan", repos = c("https://mc-stan.org/r-packages/", getOption("repos")))