Код Stan работает в Windows, но не в Linux

У меня следующий код Stan прекрасно работает при использовании с Rstan на Windows. Однако при работе в кластере с Linux (CentOS 6) он выдает очень длинную ошибку, которая включает ~500 строк, я думаю, кода Rcpp, и последний фрагмент выглядит следующим образом:

Ошибка в compileCode(f, code, language = language, verbose = verbose): ОШИБКА компиляции, функция (и)/ метод (ы) не созданы! В файл включен из /scratch/user/siamak/R_libs/StanHeaders/include/stan/math/rev/mat.hpp(15), из /scratch/user/siamak/R_libs/StanHeaders/include/stan/math.hpp(4) из файла /scratch/user/siamak/R_libs/StanHeaders/include/src/stan/model/model_header.hpp(4) из файла 6ff02c925624.cpp(8): /general/software/x86_64/tamusc/R_tamu/R_LIBS/3.3.2-iomkl-2017A-Python-2.7.12-default-mt/RcppEigen/include/Eigen/src/Cholesky/LLT.h(57): ошибка: класс "Eigen::Ref>" не имеет члена " Опции "Опции = MatrixType:: Опции, ^ обнаружены при создании экземпляра класса" Eigen:: LLT<_MatrixType, _UpLo> [with _MatrixType = Eigen:: Ref>, _UpLo = 1] "в строке 247 из"/scratch/user/siamak/R_libs/StanHeaders/include/stan/math/rev/mat/fun/cholesky_decompose.hpp"В файле включено сюда Дополнительно: предупреждающее сообщение: выполняется команда '/sw/eb/software/R/3.3.2-iomkl-2017A-Python-2.7.12-default-mt/lib64/R/bin/R CMD SHLIB file6ff02c925624.cpp 2> file6ff02c925624.cpp.err.txt'имеет статус 1

Есть мнения?

data{
int<lower=0> n;          //number of points
int<lower=1> d;          //dimension
int<lower=1> G;          //number of groups
int<lower=0> M;
int<lower=1> Jg[M];
int<lower=1> Start[G];
int<lower=1> End[G];
int<lower=1,upper=G> Ig[n];
matrix[d,n] X;
cov_matrix[d] Lambda;
real<lower=d-1> nu;
cov_matrix[d] B;
vector[d] m;
}

parameters{
vector[d] mu;            //mean
cov_matrix[d] Sigma;   //covariance
}


model{
//prior
Sigma ~ inv_wishart(nu,Lambda);
mu ~ multi_normal(m,B);
//likelihood
for (i in 1:n){
    X[Jg[Start[Ig[i]]:End[Ig[i]]],i] ~ 
 multi_normal(mu[Jg[Start[Ig[i]]:End[Ig[i]]]],
    Sigma[Jg[Start[Ig[i]]:End[Ig[i]]],Jg[Start[Ig[i]]:End[Ig[i]]]]);
    }
 }

1 ответ

Решение

Проблема была в компиляторе gcc6. Я переустановил пакеты rstan и Rcpp из источника и проблема решена!

Другие вопросы по тегам