Я не могу установить rstanarm
на R 3.5.3
работающий на Ubuntu 18.04 LTS
. Я использовал следующие команды:
install.packages("rstanarm")
а также
devtools::install_github("stan-dev/rstanarm", build_vignettes = FALSE)
и оба выдают следующую ошибку:
Execution halted
Makevars:17: recipe for target 'stan_files/lm.cc' failed
make: *** [stan_files/lm.cc] Error 1
ERROR: compilation failed for package ‘rstanarm’
информация о сеансе
sessionInfo()
R version 3.5.3 (2019-03-11)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.2 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] usethis_1.5.0 devtools_2.0.1
loaded via a namespace (and not attached):
[1] Rcpp_1.0.1 ps_1.3.0 prettyunits_1.0.2 rprojroot_1.3-2
[5] digest_0.6.18 crayon_1.3.4 withr_2.1.2 assertthat_0.2.1
[9] R6_2.4.0 backports_1.1.3 magrittr_1.5 rlang_0.3.4
[13] cli_1.1.0 curl_3.3 fs_1.2.7 remotes_2.0.2
[17] testthat_2.0.1 callr_3.2.0 desc_1.2.0 tools_3.5.3
[21] glue_1.3.1 pkgload_1.0.2 compiler_3.5.3 processx_3.3.0
[25] pkgbuild_1.0.3 sessioninfo_1.1.1 tcltk_3.5.3 memoise_1.1.0
>
Поскольку вы используете более новую версию Ubuntu, это маловероятно, но стоит проверить версию g++.
Спасибо @BenGoodrich за ваш комментарий. Я уже пробовал все это, но все равно это не работает. Есть предположения. Спасибо
Что показывает до слова Execution halted
?
@duckmayr: "/usr/lib/R/bin/Rscript" -e "source(file.path('..', 'tools', 'make_cc.R')); make_cc(commandArgs(TRUE))" stan_files/lm.stan Error: (converted from warning) S3 methods 'print.stanfit', 'as.array.stanfit', 'as.matrix.stanfit', 'as.data.frame.stanfit', 'is.array.stanfit', 'dim.stanfit', 'dimnames.stanfit', 'names.stanfit', 'names<-.stanfit', 'pairs.stanfit', 'loo.stanfit' were declared in NAMESPACE but not found
@MYaseen208 Вы пробовали (из терминала) sudo apt update
, а затем sudo apt install r-cran-rstan
?
@duckmayr: Да, я уже пробовал sudo apt update
, а затем sudo apt install r-cran-rstan
выдает ошибку: `E: Не удалось найти пакет r-cran-rstan`. Есть предположения
@MYaseen208 Извините, я забыл добавить, что вам нужно сначала добавить PPA: sudo add-apt-repository -y "ppa:marutter/rrutter"
и sudo add-apt-repository -y "ppa:marutter/c2d4u"
@duckmayr: я также добавил PPA
Давайте продолжить обсуждение в чате.
у вас есть файл .RProfile
либо в вашем домашнем каталоге, либо в каталоге R
, если у вас есть, то, пожалуйста, не могли бы вы поделиться его содержимым здесь или добавить его к своему вопросу?
В Ubuntu 18.04 + R 3.5.3 вы можете установить rstanarm
следующим образом:
sudo add-apt-repository -y "ppa:marutter/rrutter"
sudo add-apt-repository -y "ppa:marutter/c2d4u3.5"
sudo apt update
sudo apt install r-cran-rstanarm
Некоторая справочная информация о том, почему у вас могли возникнуть проблемы ранее:
Руководство по установке RStan для Ubuntu устарело для тех, кто использует R 3.5.x.
Бен Гудрич связан в комментариях с RStan GitHub Руководство по установке RStan в Linux. Там для Ubuntu советуют следующее:
# Add marutter's c2d4u repository, (and rrutter for CRAN builds too)
sudo add-apt-repository -y "ppa:marutter/rrutter"
sudo add-apt-repository -y "ppa:marutter/c2d4u"
sudo apt-get update
sudo apt-get install r-cran-rstan
Однако для более новых версий R вам нужно вместо этого сделать следующее
# Add marutter's c2d4u repository, (and rrutter for CRAN builds too)
sudo add-apt-repository -y "ppa:marutter/rrutter"
sudo add-apt-repository -y "ppa:marutter/c2d4u3.5"
sudo apt-get update
sudo apt-get install r-cran-rstan
Это должно установить RStan на Ubuntu 18.04 + R 3.5.3.
Получил установку. Однако library(rstanarm)
выдает следующее Error: package or namespace load failed for ‘rstanarm’ in library.dynam(lib, package, package.lib): shared object ‘rstanarm.so’ not found
. Любые мысли, пожалуйста.
@ MYaseen208 Возвращает ли что-нибудь запуск find . -name 00LOCK-rstan*
из терминала (из вашего домашнего каталога)?
Ничего не нашел.
В первый раз, когда эта ошибка возникла и если предположить, что у вас есть .RProfile
в корневом каталоге R
, вы, скорее всего, найдете строку, в которой говорится: setwd("~/R")
, продолжайте и прокомментируйте эту строку, перезапустите R
и получите новый сеанс, затем запустите снова: install.packages("rstanarm")
вы должны быть в состоянии установить rstanarm
успешно, не забудьте раскомментировать setwd("~/R")
после установки, причина возникновения этой ошибки заключается в том, что сценарий установки rstanarm предполагает, что рабочий каталог является корнем каталога пакета, что не так. когда вы звоните setwd()
в .Rprofile
если вы хотите попробовать это .. пожалуйста, удалите rstanarm
, который вы установили с помощью PPA
У вас есть все из github.com/stan-dev/rstan/wiki/… ?