Compilation error on HPC cluster

Hi there,

I’m hoping to get a little help resolving a compilation error when I try to run brms on an HPC cluster. I’ve put together a script that successfully compiles and runs a brms model on my personal computer, but when I run it on the cluster I get the following error:

Compiling the C++ model
Error in compileCode(f, code, language = language, verbose = verbose) : 
  Compilation ERROR, function(s)/method(s) not created! file392ad7fcbbb5.cpp(6): warning #2217: white space is required between the macro name "STAN__SERVICES__COMMAND_HPP" and its replacement text
  #define STAN__SERVICES__COMMAND_HPP#include <boost/integer/integer_log2.hpp>
                                     ^

Based on similar posts on the forum, I also tried the test model below and got the same result.

m <- stan_model(model_code = 'parameters {real y;} model {y ~ normal(0,1);}', obfuscate_model_name = FALSE)

Operating System: CentOS Linux 7 (Core)
Interface Version: packageVersion(“rstan”): 2.19.3; packageVersion(“brms”): 2.12.0
Compiler/Toolkit: Intel 18.0.2 compiler suite (C, C++, Fortran)

Apologies if I missed something obvious in the installation docs. Thanks in advance!

Probably the compiler is too old. You need the RHEL development toolset. And probably to do

Perfect, thanks for the help. Just needed to load the GNU compiler suite rather than Intel.

I ran into this a while ago and would like to see it as an easily fixable issue of rstan: just add a space in corresponding rstan paste script.

That can / will / has been fixed but you still need a C++14 compatible compiler.

1 Like