问题描述
我在使用 R、Rstudio 或 stan 时遇到了一个我以前从未遇到过的奇怪问题。我无法在 stan 中编译任何模型。我非常有信心它不是模型。 brms 中的普通模型也无法编译。而 rstanarm 模型没有问题,据我所知是预编译的。同样,类似的模型在另一台计算机上编译也没有问题。所以,我的配置有问题,但那些东西超出了我的理解。我已经尝试过旧的删除所有内容并重新安装技巧无济于事。我担心我在清理文件时无意中删除了某些内容。
我使用的是装有 Windows 10 专业版的 PC。我有 R 4.0.4。 Rstudio 1.4.1103.
每次我尝试编译 stan 模型时,我都会得到以下输出:
make cmd is
make -f "C:/PROGRA~1/R/R-40~1.4/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-40~1.4/share/make/winshlib.mk" CXX='$(CXX14) $(CXX14STD)' CXXFLAGS='$(CXX14FLAGS)' CXXPICFLAGS='$(CXX14PICFLAGS)' SHLIB_LDFLAGS='$(SHLIB_CXX14LDFLAGS)' SHLIB_LD='$(SHLIB_CXX14LD)' SHLIB="file735032f41a17.dll" WIN=64 TCLBIN=64 OBJECTS="file735032f41a17.o"
make would use
if test "zfile735032f41a17.o" != "z"; then \
if test -e "file735032f41a17-win.def"; then \
echo "C:/rtools40/mingw64/bin/"g++ -shared -s -static-libgcc -o file735032f41a17.dll file735032f41a17-win.def file735032f41a17.o "C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a" -L"C:/Users/loren/Documents/R/win-library/4.0/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/loren/Documents/R/win-library/4.0/RcppParallel/lib/x64" -ltbb -L"C:/PROGRA~1/R/R-40~1.4/bin/x64" -lR ; \
"C:/rtools40/mingw64/bin/"g++ -shared -s -static-libgcc -o file735032f41a17.dll file735032f41a17-win.def file735032f41a17.o "C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a" -L"C:/Users/loren/Documents/R/win-library/4.0/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/loren/Documents/R/win-library/4.0/RcppParallel/lib/x64" -ltbb -L"C:/PROGRA~1/R/R-40~1.4/bin/x64" -lR ; \
else \
echo EXPORTS > tmp.def; \
"C:/rtools40/mingw64/bin/"nm file735032f41a17.o | sed -n 's/^.* [BCDRT] / /p' | sed -e '/[.]refptr[.]/d' -e '/[.]weak[.]/d' | sed 's/[^ ][^ ]*/"&"/g' >> tmp.def; \
echo "C:/rtools40/mingw64/bin/"g++ -shared -s -static-libgcc -o file735032f41a17.dll tmp.def file735032f41a17.o "C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a" -L"C:/Users/loren/Documents/R/win-library/4.0/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/loren/Documents/R/win-library/4.0/RcppParallel/lib/x64" -ltbb -L"C:/PROGRA~1/R/R-40~1.4/bin/x64" -lR ; \
"C:/rtools40/mingw64/bin/"g++ -shared -s -static-libgcc -o file735032f41a17.dll tmp.def file735032f41a17.o "C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a" -L"C:/Users/loren/Documents/R/win-library/4.0/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/loren/Documents/R/win-library/4.0/RcppParallel/lib/x64" -ltbb -L"C:/PROGRA~1/R/R-40~1.4/bin/x64" -lR ; \
rm -f tmp.def; \
fi \
fi
Error in compileCode(f,code,language = language,verbose = verbose) :
C:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.data$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): multiple deFinition of `boost::math::detail::bessel_j0<long double>(long double)::P1'; file735032f41a17.o:file735032f41a17.cpp:(.rdata$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2P1]+0x0): first defined hereC:/rtools40/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/loren/Documents/R/win-library/4.0/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.data$_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QS[_ZZN5boost4math6detail9bessel_j0IeEET_S3_E2QS]+0x0): multiple deFinition of `boost::math::detail::bessel_j0<long double>(long double)::QS'; file735032f41a17.o:file735032f41a
Error in sink(type = "output") : invalid connection
这是我第一次在论坛上提问。所以,如果我没有给你你需要的所有信息,请不要犹豫,索取。非常感谢您的帮助。
这似乎很常见:
> sessionInfo()
R version 4.0.4 (2021-02-15)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics Grdevices utils datasets methods base
other attached packages:
[1] rstan_2.21.2 StanHeaders_2.21.0-7 bayesplot_1.8.0 sjplot_2.8.7 survminer_0.4.8
[6] ggpubr_0.4.0 survival_3.2-7 rstanarm_2.21.1 brms_2.14.4 Rcpp_1.0.6
[11] finalfit_1.0.2 lubridate_1.7.9.2 reshape2_1.4.4 googlesheets4_0.2.0 forcats_0.5.1
[16] stringr_1.4.0 dplyr_1.0.4 purrr_0.3.4 readr_1.4.0 tidyr_1.1.2
[21] tibble_3.0.6 ggplot2_3.3.3 tidyverse_1.3.0
loaded via a namespace (and not attached):
[1] readxl_1.3.1 backports_1.2.1 plyr_1.8.6 igraph_1.2.6 splines_4.0.4
[6] crosstalk_1.1.1 TH.data_1.0-10 rstantools_2.1.1 inline_0.3.17 digest_0.6.27
[11] htmltools_0.5.1.1 rsconnect_0.8.16 magrittr_2.0.1 openxlsx_4.2.3 modelr_0.1.8
[16] RcppParallel_5.0.2 matrixStats_0.58.0 xts_0.12.1 sandwich_3.0-0 askpass_1.1
[21] prettyunits_1.1.1 colorspace_2.0-0 rvest_0.3.6 xfun_0.20 haven_2.3.1
[26] callr_3.5.1 Crayon_1.4.1 jsonlite_1.7.2 lme4_1.1-26 zoo_1.8-8
[31] glue_1.4.2 gargle_0.5.0 gtable_0.3.0 emmeans_1.5.4 sjstats_0.18.1
[36] sjmisc_2.8.6 V8_3.4.0 car_3.0-10 pkgbuild_1.2.0 abind_1.4-5
[41] scales_1.1.1 mvtnorm_1.1-1 DBI_1.1.1 ggeffects_1.0.1 rstatix_0.7.0
[46] miniui_0.1.1.1 performance_0.7.0 xtable_1.8-4 foreign_0.8-81 km.ci_0.5-2
[51] stats4_4.0.4 DT_0.17 htmlwidgets_1.5.3 httr_1.4.2 threejs_0.3.3
[56] ellipsis_0.3.1 mice_3.13.0 pkgconfig_2.0.3 loo_2.4.1 dbplyr_2.1.0
[61] effectsize_0.4.3 tidyselect_1.1.0 rlang_0.4.10 later_1.1.0.1 munsell_0.5.0
[66] cellranger_1.1.0 tools_4.0.4 cli_2.3.0 generics_0.1.0 sjlabelled_1.1.7
[71] broom_0.7.4 ggridges_0.5.3 fastmap_1.1.0 knitr_1.31 processx_3.4.5
[76] fs_1.5.0 zip_2.1.1 survMisc_0.5.5 nlme_3.1-152 mime_0.9
[81] projpred_2.0.2 xml2_1.3.2 compiler_4.0.4 shinythemes_1.2.0 rstudioapi_0.13
[86] gamm4_0.2-6 curl_4.3 ggsignif_0.6.0 reprex_1.0.0 statmod_1.4.35
[91] stringi_1.5.3 parameters_0.11.0 ps_1.5.0 brobdingnag_1.2-6 lattice_0.20-41
[96] Matrix_1.3-2 nloptr_1.2.2.2 markdown_1.1 KMsurv_0.1-5 shinyjs_2.0.0
[101] vctrs_0.3.6 pillar_1.4.7 lifecycle_1.0.0 bridgesampling_1.0-0 estimability_1.3
[106] insight_0.13.0 data.table_1.13.6 httpuv_1.5.5 R6_2.5.0 promises_1.1.1
[111] gridExtra_2.3 rio_0.5.16 codetools_0.2-18 boot_1.3-26 colourpicker_1.1.0
[116] MASS_7.3-53 gtools_3.8.2 assertthat_0.2.1 openssl_1.4.3 withr_2.4.1
[121] shinystan_2.5.0 multcomp_1.4-16 bayestestR_0.8.2 mgcv_1.8-33 parallel_4.0.4
[126] hms_1.0.0 grid_4.0.4 coda_0.19-4 minqa_1.2.4 carData_3.0-4
[131] googledrive_1.0.1 shiny_1.6.0 base64enc_0.1-3 dygraphs_1.1.1.6
以下非常简单的 stan 模型引发了上述错误
model <- "
data{
int<lower=0> N;
vector[N] Y;
vector[N] X;
}
parameters{
real beta;
real mu;
real<lower=0> sigma;
}
model{
Y ~ normal(mu + beta*X,sigma);
mu ~ normal(0,1);
beta ~ normal(0,1);
sigma ~ gamma(0.1,0.1);
}"
stan_model(model_code = model)
解决方法
我偶然发现了一个解决方案。我重新安装了rstan。我不知道问题是什么,也不知道为什么会解决这个问题。如果其他人愿意参与进来,那将不胜感激。感谢那些对我的查询提出任何想法的人。