Error in compileCode(f, code, language = language, verbose = verbose) : Compilation ERROR, function(s)/method(s) not created!

Thank you! I followed it and got another error (this is a long one):

example(stan_model, package = “rstan”, run.dontrun = TRUE)

stn_md> stancode ← ‘data {real y_mean;} parameters {real y;} model {y ~ normal(y_mean,1);}’

stn_md> mod ← stan_model(model_code = stancode, verbose = TRUE)

TRANSLATING MODEL ‘73fc79f8b1915e8208c736914c86d1a1’ FROM Stan CODE TO C++ CODE NOW.
successful in parsing the Stan model ‘73fc79f8b1915e8208c736914c86d1a1’.
COMPILING THE C++ CODE FOR MODEL ‘73fc79f8b1915e8208c736914c86d1a1’ NOW.
OS: x86_64, mingw32; rstan: 2.21.2; Rcpp: 1.0.5; inline: 0.3.17

setting environment variables:
LOCAL_LIBS = “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb
PKG_CPPFLAGS = -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/Rcpp/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/unsupported" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/BH/include" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/src/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include “C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp” -std=c++1y
Program source :

1 :
2 : // includes from the plugin
3 : // [[Rcpp::plugins(cpp14)]]
4 :
5 :
6 : // user includes
7 : #include <Rcpp.h>
8 : #include <rstan/io/rlist_ref_var_context.hpp>
9 : #include <rstan/io/r_ostream.hpp>
10 : #include <rstan/stan_args.hpp>
11 : #include <boost/integer/integer_log2.hpp>
12 : // Code generated by Stan version 2.21.0
13 :
14 : #include <stan/model/model_header.hpp>
15 :
16 : namespace model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace {
17 :
18 : using std::istream;
19 : using std::string;
20 : using std::stringstream;
21 : using std::vector;
22 : using stan::io::dump;
23 : using stan::math::lgamma;
24 : using stan::model::prob_grad;
25 : using namespace stan::math;
26 :
27 : static int current_statement_begin__;
28 :
29 : stan::io::program_reader prog_reader__() {
30 : stan::io::program_reader reader;
31 : reader.add_event(0, 0, “start”, “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”);
32 : reader.add_event(3, 1, “end”, “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”);
33 : return reader;
34 : }
35 :
36 : class model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1
37 : : public stan::model::model_base_crtp<model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1> {
38 : private:
39 : double y_mean;
40 : public:
41 : model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1(rstan::io::rlist_ref_var_context& context__,
42 : std::ostream* pstream__ = 0)
43 : : model_base_crtp(0) {
44 : ctor_body(context__, 0, pstream__);
45 : }
46 :
47 : model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1(stan::io::var_context& context__,
48 : unsigned int random_seed__,
49 : std::ostream* pstream__ = 0)
50 : : model_base_crtp(0) {
51 : ctor_body(context__, random_seed__, pstream__);
52 : }
53 :
54 : void ctor_body(stan::io::var_context& context__,
55 : unsigned int random_seed__,
56 : std::ostream* pstream__) {
57 : typedef double local_scalar_t__;
58 :
59 : boost::ecuyer1988 base_rng__ =
60 : stan::services::util::create_rng(random_seed__, 0);
61 : (void) base_rng__; // suppress unused var warning
62 :
63 : current_statement_begin__ = -1;
64 :
65 : static const char* function__ = “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”;
66 : (void) function__; // dummy to suppress unused var warning
67 : size_t pos__;
68 : (void) pos__; // dummy to suppress unused var warning
69 : std::vector vals_i__;
70 : std::vector vals_r__;
71 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
72 : (void) DUMMY_VAR__; // suppress unused var warning
73 :
74 : try {
75 : // initialize data block variables from context__
76 : current_statement_begin__ = 1;
77 : context__.validate_dims(“data initialization”, “y_mean”, “double”, context__.to_vec());
78 : y_mean = double(0);
79 : vals_r__ = context__.vals_r(“y_mean”);
80 : pos__ = 0;
81 : y_mean = vals_r__[pos__++];
82 :
83 :
84 : // initialize transformed data variables
85 : // execute transformed data statements
86 :
87 : // validate transformed data
88 :
89 : // validate, set parameter ranges
90 : num_params_r__ = 0U;
91 : param_ranges_i__.clear();
92 : current_statement_begin__ = 1;
93 : num_params_r__ += 1;
94 : } catch (const std::exception& e) {
95 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
96 : // Next line prevents compiler griping about no return
97 : throw std::runtime_error(“*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
98 : }
99 : }
100 :
101 : ~model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1() { }
102 :
103 :
104 : void transform_inits(const stan::io::var_context& context__,
105 : std::vector& params_i__,
106 : std::vector& params_r__,
107 : std::ostream
pstream__) const {
108 : typedef double local_scalar_t__;
109 : stan::io::writer writer__(params_r__, params_i__);
110 : size_t pos__;
111 : (void) pos__; // dummy call to supress warning
112 : std::vector vals_r__;
113 : std::vector vals_i__;
114 :
115 : current_statement_begin__ = 1;
116 : if (!(context__.contains_r(“y”)))
117 : stan::lang::rethrow_located(std::runtime_error(std::string(“Variable y missing”)), current_statement_begin__, prog_reader__());
118 : vals_r__ = context__.vals_r(“y”);
119 : pos__ = 0U;
120 : context__.validate_dims(“parameter initialization”, “y”, “double”, context__.to_vec());
121 : double y(0);
122 : y = vals_r__[pos__++];
123 : try {
124 : writer__.scalar_unconstrain(y);
125 : } catch (const std::exception& e) {
126 : stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable y: ") + e.what()), current_statement_begin__, prog_reader__());
127 : }
128 :
129 : params_r__ = writer__.data_r();
130 : params_i__ = writer__.data_i();
131 : }
132 :
133 : void transform_inits(const stan::io::var_context& context,
134 : Eigen::Matrix<double, Eigen::Dynamic, 1>& params_r,
135 : std::ostream
pstream__) const {
136 : std::vector params_r_vec;
137 : std::vector params_i_vec;
138 : transform_inits(context, params_i_vec, params_r_vec, pstream__);
139 : params_r.resize(params_r_vec.size());
140 : for (int i = 0; i < params_r.size(); ++i)
141 : params_r(i) = params_r_vec[i];
142 : }
143 :
144 :
145 : template <bool propto__, bool jacobian__, typename T__>
146 : T__ log_prob(std::vector<T__>& params_r__,
147 : std::vector& params_i__,
148 : std::ostream
pstream__ = 0) const {
149 :
150 : typedef T__ local_scalar_t__;
151 :
152 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
153 : (void) DUMMY_VAR__; // dummy to suppress unused var warning
154 :
155 : T__ lp__(0.0);
156 : stan::math::accumulator<T__> lp_accum__;
157 : try {
158 : stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
159 :
160 : // model parameters
161 : current_statement_begin__ = 1;
162 : local_scalar_t__ y;
163 : (void) y; // dummy to suppress unused var warning
164 : if (jacobian__)
165 : y = in__.scalar_constrain(lp__);
166 : else
167 : y = in__.scalar_constrain();
168 :
169 : // model body
170 :
171 : current_statement_begin__ = 1;
172 : lp_accum__.add(normal_log<propto__>(y, y_mean, 1));
173 :
174 : } catch (const std::exception& e) {
175 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
176 : // Next line prevents compiler griping about no return
177 : throw std::runtime_error(”*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
178 : }
179 :
180 : lp_accum__.add(lp__);
181 : return lp_accum__.sum();
182 :
183 : } // log_prob()
184 :
185 : template <bool propto, bool jacobian, typename T_>
186 : T_ log_prob(Eigen::Matrix<T_,Eigen::Dynamic,1>& params_r,
187 : std::ostream
pstream = 0) const {
188 : std::vector<T_> vec_params_r;
189 : vec_params_r.reserve(params_r.size());
190 : for (int i = 0; i < params_r.size(); ++i)
191 : vec_params_r.push_back(params_r(i));
192 : std::vector vec_params_i;
193 : return log_prob<propto,jacobian,T_>(vec_params_r, vec_params_i, pstream);
194 : }
195 :
196 :
197 : void get_param_names(std::vectorstd::string& names__) const {
198 : names__.resize(0);
199 : names__.push_back(“y”);
200 : }
201 :
202 :
203 : void get_dims(std::vector<std::vector<size_t> >& dimss__) const {
204 : dimss__.resize(0);
205 : std::vector<size_t> dims__;
206 : dims__.resize(0);
207 : dimss__.push_back(dims__);
208 : }
209 :
210 : template
211 : void write_array(RNG& base_rng__,
212 : std::vector& params_r__,
213 : std::vector& params_i__,
214 : std::vector& vars__,
215 : bool include_tparams__ = true,
216 : bool include_gqs__ = true,
217 : std::ostream
pstream__ = 0) const {
218 : typedef double local_scalar_t__;
219 :
220 : vars__.resize(0);
221 : stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
222 : static const char
function__ = “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::write_array”;
223 : (void) function__; // dummy to suppress unused var warning
224 :
225 : // read-transform, write parameters
226 : double y = in__.scalar_constrain();
227 : vars__.push_back(y);
228 :
229 : double lp__ = 0.0;
230 : (void) lp__; // dummy to suppress unused var warning
231 : stan::math::accumulator lp_accum__;
232 :
233 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
234 : (void) DUMMY_VAR__; // suppress unused var warning
235 :
236 : if (!include_tparams__ && !include_gqs__) return;
237 :
238 : try {
239 : if (!include_gqs__ && !include_tparams__) return;
240 : if (!include_gqs__) return;
241 : } catch (const std::exception& e) {
242 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
243 : // Next line prevents compiler griping about no return
244 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
245 : }
246 : }
247 :
248 : template
249 : void write_array(RNG& base_rng,
250 : Eigen::Matrix<double,Eigen::Dynamic,1>& params_r,
251 : Eigen::Matrix<double,Eigen::Dynamic,1>& vars,
252 : bool include_tparams = true,
253 : bool include_gqs = true,
254 : std::ostream
pstream = 0) const {
255 : std::vector params_r_vec(params_r.size());
256 : for (int i = 0; i < params_r.size(); ++i)
257 : params_r_vec[i] = params_r(i);
258 : std::vector vars_vec;
259 : std::vector params_i_vec;
260 : write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream);
261 : vars.resize(vars_vec.size());
262 : for (int i = 0; i < vars.size(); ++i)
263 : vars(i) = vars_vec[i];
264 : }
265 :
266 : std::string model_name() const {
267 : return “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”;
268 : }
269 :
270 :
271 : void constrained_param_names(std::vectorstd::string& param_names__,
272 : bool include_tparams__ = true,
273 : bool include_gqs__ = true) const {
274 : std::stringstream param_name_stream__;
275 : param_name_stream__.str(std::string());
276 : param_name_stream__ << “y”;
277 : param_names__.push_back(param_name_stream__.str());
278 :
279 : if (!include_gqs__ && !include_tparams__) return;
280 :
281 : if (include_tparams__) {
282 : }
283 :
284 : if (!include_gqs__) return;
285 : }
286 :
287 :
288 : void unconstrained_param_names(std::vectorstd::string& param_names__,
289 : bool include_tparams__ = true,
290 : bool include_gqs__ = true) const {
291 : std::stringstream param_name_stream__;
292 : param_name_stream__.str(std::string());
293 : param_name_stream__ << “y”;
294 : param_names__.push_back(param_name_stream__.str());
295 :
296 : if (!include_gqs__ && !include_tparams__) return;
297 :
298 : if (include_tparams__) {
299 : }
300 :
301 : if (!include_gqs__) return;
302 : }
303 :
304 : }; // model
305 :
306 : } // namespace
307 :
308 : typedef model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1 stan_model;
309 :
310 : #ifndef USING_R
311 :
312 : stan::model::model_base& new_model(
313 : stan::io::var_context& data_context,
314 : unsigned int seed,
315 : std::ostream
msg_stream) {
316 : stan_model
m = new stan_model(data_context, seed, msg_stream);
317 : return m;
318 : }
319 :
320 : #endif
321 :
322 :
323 :
324 : #include <rstan_next/stan_fit.hpp>
325 :
326 : struct stan_model_holder {
327 : stan_model_holder(rstan::io::rlist_ref_var_context rcontext,
328 : unsigned int random_seed)
329 : : rcontext_(rcontext), random_seed_(random_seed)
330 : {
331 : }
332 :
333 : //stan::math::ChainableStack ad_stack;
334 : rstan::io::rlist_ref_var_context rcontext_;
335 : unsigned int random_seed_;
336 : };
337 :
338 : Rcpp::XPtrstan::model::model_base model_ptr(stan_model_holder
smh) {
339 : Rcpp::XPtrstan::model::model_base model_instance(new stan_model(smh->rcontext_, smh->random_seed_), true);
340 : return model_instance;
341 : }
342 :
343 : Rcpp::XPtrrstan::stan_fit_base fit_ptr(stan_model_holder* smh) {
344 : return Rcpp::XPtrrstan::stan_fit_base(new rstan::stan_fit(model_ptr(smh), smh->random_seed_), true);
345 : }
346 :
347 : std::string model_name(stan_model_holder* smh) {
348 : return model_ptr(smh).get()->model_name();
349 : }
350 :
351 : RCPP_MODULE(stan_fit4model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_mod){
352 : Rcpp::class_<stan_model_holder>(“stan_fit4model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”)
353 : .constructor<rstan::io::rlist_ref_var_context, unsigned int>()
354 : .method(“model_ptr”, &model_ptr)
355 : .method(“fit_ptr”, &fit_ptr)
356 : .method(“model_name”, &model_name)
357 : ;
358 : }
359 :
360 :
361 : // declarations
362 : extern “C” {
363 : SEXP file70bc2bf7590d( ) ;
364 : }
365 :
366 : // definition
367 : SEXP file70bc2bf7590d() {
368 : return Rcpp::wrap(“73fc79f8b1915e8208c736914c86d1a1”);
369 : }
make cmd is
make -f “C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/etc/x64/Makeconf” -f “C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/share/make/winshlib.mk” -f “C:/Users/ymb0814/Documents/.R/Makevars.win” CXX=‘(CXX11) (CXX11STD)’ CXXFLAGS=‘(CXX11FLAGS)' CXXPICFLAGS='(CXX11PICFLAGS)’ SHLIB_LDFLAGS=‘(SHLIB_CXX11LDFLAGS)' SHLIB_LD='(SHLIB_CXX11LD)’ SHLIB=“file70bc2bf7590d.dll” WIN=64 TCLBIN=64 OBJECTS=“file70bc2bf7590d.o”

make would use
c:/Rtools/mingw_64/bin/g++ -std=gnu++11 -I"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/include" -DNDEBUG -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/Rcpp/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/unsupported" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/BH/include" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/src/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include “C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp” -std=c++1y -O2 -Wall -mtune=generic -c file70bc2bf7590d.cpp -o file70bc2bf7590d.o
if test “zfile70bc2bf7590d.o” != “z”; then
if test -e “file70bc2bf7590d-win.def”; then
echo c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file70bc2bf7590d.dll file70bc2bf7590d-win.def file70bc2bf7590d.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file70bc2bf7590d.dll file70bc2bf7590d-win.def file70bc2bf7590d.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
else
echo EXPORTS > tmp.def;
c:/Rtools/mingw_64/bin/nm file70bc2bf7590d.o | sed -n ‘s/^.* [BCDRT] / /p’ | sed -e ‘/[.]refptr[.]/d’ -e ‘/[.]weak[.]/d’ | sed ‘s/[^ ][^ ]*/“&”/g’ >> tmp.def;
echo c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file70bc2bf7590d.dll tmp.def file70bc2bf7590d.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file70bc2bf7590d.dll tmp.def file70bc2bf7590d.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
rm -f tmp.def;
fi
fi

ERROR(s) during compilation: source code errors or compiler configuration errors!

Program source:
1:
2: // includes from the plugin
3: // [[Rcpp::plugins(cpp14)]]
4:
5:
6: // user includes
7: #include <Rcpp.h>
8: #include <rstan/io/rlist_ref_var_context.hpp>
9: #include <rstan/io/r_ostream.hpp>
10: #include <rstan/stan_args.hpp>
11: #include <boost/integer/integer_log2.hpp>
12: // Code generated by Stan version 2.21.0
13:
14: #include <stan/model/model_header.hpp>
15:
16: namespace model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace {
17:
18: using std::istream;
19: using std::string;
20: using std::stringstream;
21: using std::vector;
22: using stan::io::dump;
23: using stan::math::lgamma;
24: using stan::model::prob_grad;
25: using namespace stan::math;
26:
27: static int current_statement_begin__;
28:
29: stan::io::program_reader prog_reader__() {
30: stan::io::program_reader reader;
31: reader.add_event(0, 0, “start”, “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”);
32: reader.add_event(3, 1, “end”, “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”);
33: return reader;
34: }
35:
36: class model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1
37: : public stan::model::model_base_crtp<model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1> {
38: private:
39: double y_mean;
40: public:
41: model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1(rstan::io::rlist_ref_var_context& context__,
42: std::ostream* pstream__ = 0)
43: : model_base_crtp(0) {
44: ctor_body(context__, 0, pstream__);
45: }
46:
47: model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1(stan::io::var_context& context__,
48: unsigned int random_seed__,
49: std::ostream* pstream__ = 0)
50: : model_base_crtp(0) {
51: ctor_body(context__, random_seed__, pstream__);
52: }
53:
54: void ctor_body(stan::io::var_context& context__,
55: unsigned int random_seed__,
56: std::ostream* pstream__) {
57: typedef double local_scalar_t__;
58:
59: boost::ecuyer1988 base_rng__ =
60: stan::services::util::create_rng(random_seed__, 0);
61: (void) base_rng__; // suppress unused var warning
62:
63: current_statement_begin__ = -1;
64:
65: static const char* function__ = “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”;
66: (void) function__; // dummy to suppress unused var warning
67: size_t pos__;
68: (void) pos__; // dummy to suppress unused var warning
69: std::vector vals_i__;
70: std::vector vals_r__;
71: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
72: (void) DUMMY_VAR__; // suppress unused var warning
73:
74: try {
75: // initialize data block variables from context__
76: current_statement_begin__ = 1;
77: context__.validate_dims(“data initialization”, “y_mean”, “double”, context__.to_vec());
78: y_mean = double(0);
79: vals_r__ = context__.vals_r(“y_mean”);
80: pos__ = 0;
81: y_mean = vals_r__[pos__++];
82:
83:
84: // initialize transformed data variables
85: // execute transformed data statements
86:
87: // validate transformed data
88:
89: // validate, set parameter ranges
90: num_params_r__ = 0U;
91: param_ranges_i__.clear();
92: current_statement_begin__ = 1;
93: num_params_r__ += 1;
94: } catch (const std::exception& e) {
95: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
96: // Next line prevents compiler griping about no return
97: throw std::runtime_error(“*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
98: }
99: }
100:
101: ~model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1() { }
102:
103:
104: void transform_inits(const stan::io::var_context& context__,
105: std::vector& params_i__,
106: std::vector& params_r__,
107: std::ostream
pstream__) const {
108: typedef double local_scalar_t__;
109: stan::io::writer writer__(params_r__, params_i__);
110: size_t pos__;
111: (void) pos__; // dummy call to supress warning
112: std::vector vals_r__;
113: std::vector vals_i__;
114:
115: current_statement_begin__ = 1;
116: if (!(context__.contains_r(“y”)))
117: stan::lang::rethrow_located(std::runtime_error(std::string(“Variable y missing”)), current_statement_begin__, prog_reader__());
118: vals_r__ = context__.vals_r(“y”);
119: pos__ = 0U;
120: context__.validate_dims(“parameter initialization”, “y”, “double”, context__.to_vec());
121: double y(0);
122: y = vals_r__[pos__++];
123: try {
124: writer__.scalar_unconstrain(y);
125: } catch (const std::exception& e) {
126: stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable y: ") + e.what()), current_statement_begin__, prog_reader__());
127: }
128:
129: params_r__ = writer__.data_r();
130: params_i__ = writer__.data_i();
131: }
132:
133: void transform_inits(const stan::io::var_context& context,
134: Eigen::Matrix<double, Eigen::Dynamic, 1>& params_r,
135: std::ostream
pstream__) const {
136: std::vector params_r_vec;
137: std::vector params_i_vec;
138: transform_inits(context, params_i_vec, params_r_vec, pstream__);
139: params_r.resize(params_r_vec.size());
140: for (int i = 0; i < params_r.size(); ++i)
141: params_r(i) = params_r_vec[i];
142: }
143:
144:
145: template <bool propto__, bool jacobian__, typename T__>
146: T__ log_prob(std::vector<T__>& params_r__,
147: std::vector& params_i__,
148: std::ostream
pstream__ = 0) const {
149:
150: typedef T__ local_scalar_t__;
151:
152: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
153: (void) DUMMY_VAR__; // dummy to suppress unused var warning
154:
155: T__ lp__(0.0);
156: stan::math::accumulator<T__> lp_accum__;
157: try {
158: stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
159:
160: // model parameters
161: current_statement_begin__ = 1;
162: local_scalar_t__ y;
163: (void) y; // dummy to suppress unused var warning
164: if (jacobian__)
165: y = in__.scalar_constrain(lp__);
166: else
167: y = in__.scalar_constrain();
168:
169: // model body
170:
171: current_statement_begin__ = 1;
172: lp_accum__.add(normal_log<propto__>(y, y_mean, 1));
173:
174: } catch (const std::exception& e) {
175: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
176: // Next line prevents compiler griping about no return
177: throw std::runtime_error(”*** IF YOU SEE THIS, PLEASE REPORT A BUG ***");
178: }
179:
180: lp_accum__.add(lp__);
181: return lp_accum__.sum();
182:

183: } // log_prob()
184:
185: template <bool propto, bool jacobian, typename T_>
186: T_ log_prob(Eigen::Matrix<T_,Eigen::Dynamic,1>& params_r,
187: std::ostream* pstream = 0) const {
188: std::vector<T_> vec_params_r;
189: vec_params_r.reserve(params_r.size());
190: for (int i = 0; i < params_r.size(); ++i)
191: vec_params_r.push_back(params_r(i));
192: std::vector vec_params_i;
193: return log_prob<propto,jacobian,T_>(vec_params_r, vec_params_i, pstream);
194: }
195:
196:
197: void get_param_names(std::vectorstd::string& names__) const {
198: names__.resize(0);
199: names__.push_back(“y”);
200: }
201:
202:
203: void get_dims(std::vector<std::vector<size_t> >& dimss__) const {
204: dimss__.resize(0);
205: std::vector<size_t> dims__;
206: dims__.resize(0);
207: dimss__.push_back(dims__);
208: }
209:
210: template
211: void write_array(RNG& base_rng__,
212: std::vector& params_r__,
213: std::vector& params_i__,
214: std::vector& vars__,
215: bool include_tparams__ = true,
216: bool include_gqs__ = true,
217: std::ostream* pstream__ = 0) const {
218: typedef double local_scalar_t__;
219:
220: vars__.resize(0);
221: stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
222: static const char* function__ = “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::write_array”;
223: (void) function__; // dummy to suppress unused var warning
224:
225: // read-transform, write parameters
226: double y = in__.scalar_constrain();
227: vars__.push_back(y);
228:
229: double lp__ = 0.0;
230: (void) lp__; // dummy to suppress unused var warning
231: stan::math::accumulator lp_accum__;
232:
233: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
234: (void) DUMMY_VAR__; // suppress unused var warning
235:
236: if (!include_tparams__ && !include_gqs__) return;
237:
238: try {
239: if (!include_gqs__ && !include_tparams__) return;
240: if (!include_gqs__) return;
241: } catch (const std::exception& e) {
242: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
243: // Next line prevents compiler griping about no return
244: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
245: }
246: }
247:
248: template
249: void write_array(RNG& base_rng,
250: Eigen::Matrix<double,Eigen::Dynamic,1>& params_r,
251: Eigen::Matrix<double,Eigen::Dynamic,1>& vars,
252: bool include_tparams = true,
253: bool include_gqs = true,
254: std::ostream
pstream = 0) const {
255: std::vector params_r_vec(params_r.size());
256: for (int i = 0; i < params_r.size(); ++i)
257: params_r_vec[i] = params_r(i);
258: std::vector vars_vec;
259: std::vector params_i_vec;
260: write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream);
261: vars.resize(vars_vec.size());
262: for (int i = 0; i < vars.size(); ++i)
263: vars(i) = vars_vec[i];
264: }
265:
266: std::string model_name() const {
267: return “model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”;
268: }
269:
270:
271: void constrained_param_names(std::vectorstd::string& param_names__,
272: bool include_tparams__ = true,
273: bool include_gqs__ = true) const {
274: std::stringstream param_name_stream__;
275: param_name_stream__.str(std::string());
276: param_name_stream__ << “y”;
277: param_names__.push_back(param_name_stream__.str());
278:
279: if (!include_gqs__ && !include_tparams__) return;
280:
281: if (include_tparams__) {
282: }
283:
284: if (!include_gqs__) return;
285: }
286:
287:
288: void unconstrained_param_names(std::vectorstd::string& param_names__,
289: bool include_tparams__ = true,
290: bool include_gqs__ = true) const {
291: std::stringstream param_name_stream__;
292: param_name_stream__.str(std::string());
293: param_name_stream__ << “y”;
294: param_names__.push_back(param_name_stream__.str());
295:
296: if (!include_gqs__ && !include_tparams__) return;
297:
298: if (include_tparams__) {
299: }
300:
301: if (!include_gqs__) return;
302: }
303:
304: }; // model
305:
306: } // namespace
307:
308: typedef model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_namespace::model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1 stan_model;
309:
310: #ifndef USING_R
311:
312: stan::model::model_base& new_model(
313: stan::io::var_context& data_context,
314: unsigned int seed,
315: std::ostream
msg_stream) {
316: stan_model
m = new stan_model(data_context, seed, msg_stream);
317: return m;
318: }
319:
320: #endif
321:
322:
323:
324: #include <rstan_next/stan_fit.hpp>
325:
326: struct stan_model_holder {
327: stan_model_holder(rstan::io::rlist_ref_var_context rcontext,
328: unsigned int random_seed)
329: : rcontext_(rcontext), random_seed_(random_seed)
330: {
331: }
332:
333: //stan::math::ChainableStack ad_stack;
334: rstan::io::rlist_ref_var_context rcontext_;
335: unsigned int random_seed_;
336: };
337:
338: Rcpp::XPtrstan::model::model_base model_ptr(stan_model_holder
smh) {
339: Rcpp::XPtrstan::model::model_base model_instance(new stan_model(smh->rcontext_, smh->random_seed_), true);
340: return model_instance;
341: }
342:
343: Rcpp::XPtrrstan::stan_fit_base fit_ptr(stan_model_holder* smh) {
344: return Rcpp::XPtrrstan::stan_fit_base(new rstan::stan_fit(model_ptr(smh), smh->random_seed_), true);
345: }
346:
347: std::string model_name(stan_model_holder* smh) {
348: return model_ptr(smh).get()->model_name();
349: }
350:
351: RCPP_MODULE(stan_fit4model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1_mod){
352: Rcpp::class_<stan_model_holder>(“stan_fit4model70bc499a1de_73fc79f8b1915e8208c736914c86d1a1”)
353: .constructor<rstan::io::rlist_ref_var_context, unsigned int>()
354: .method(“model_ptr”, &model_ptr)
355: .method(“fit_ptr”, &fit_ptr)
356: .method(“model_name”, &model_name)
357: ;
358: }
359:
360:
361: // declarations
362: extern “C” {
363: SEXP file70bc2bf7590d( ) ;
364: }
365:
366: // definition
367: SEXP file70bc2bf7590d() {
368: return Rcpp::wrap(“73fc79f8b1915e8208c736914c86d1a1”);
369: }
Compilation ERROR, function(s)/method(s) not created!
Error in compileCode(f, code, language = language, verbose = verbose) :
file70bc2bf7590d.o:file70bc2bf7590d.cpp:(.data$_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2P1[_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2P1]+0x0): first defined hereC:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata$_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2Q2[ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2Q2]+0x0): multiple definition of `long double boost::math::detail::bessel_y0<long double, boost::ma
In addition: Warning message:
In system(paste(CXX, ARGS), ignore.stdout = TRUE, ignore.stderr = TRUE) :
'C:/rtools40/usr/mingw
/bin/g++’ not found

Ah you need to install StanHeaders from source as well:


install.packages(c("StanHeaders","rstan"),type="source")
1 Like

I am sorry! I got another one.

stn_md> stancode ← ‘data {real y_mean;} parameters {real y;} model {y ~ normal(y_mean,1);}’

stn_md> mod ← stan_model(model_code = stancode, verbose = TRUE)

TRANSLATING MODEL ‘73fc79f8b1915e8208c736914c86d1a1’ FROM Stan CODE TO C++ CODE NOW.
successful in parsing the Stan model ‘73fc79f8b1915e8208c736914c86d1a1’.
COMPILING THE C++ CODE FOR MODEL ‘73fc79f8b1915e8208c736914c86d1a1’ NOW.
OS: x86_64, mingw32; rstan: 2.21.2; Rcpp: 1.0.5; inline: 0.3.17

setting environment variables:
LOCAL_LIBS = “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb
PKG_CPPFLAGS = -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/Rcpp/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/unsupported" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/BH/include" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/src/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include “C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp” -std=c++1y
Program source :

1 :
2 : // includes from the plugin
3 : // [[Rcpp::plugins(cpp14)]]
4 :
5 :
6 : // user includes
7 : #include <Rcpp.h>
8 : #include <rstan/io/rlist_ref_var_context.hpp>
9 : #include <rstan/io/r_ostream.hpp>
10 : #include <rstan/stan_args.hpp>
11 : #include <boost/integer/integer_log2.hpp>
12 : // Code generated by Stan version 2.21.0
13 :
14 : #include <stan/model/model_header.hpp>
15 :
16 : namespace model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace {
17 :
18 : using std::istream;
19 : using std::string;
20 : using std::stringstream;
21 : using std::vector;
22 : using stan::io::dump;
23 : using stan::math::lgamma;
24 : using stan::model::prob_grad;
25 : using namespace stan::math;
26 :
27 : static int current_statement_begin__;
28 :
29 : stan::io::program_reader prog_reader__() {
30 : stan::io::program_reader reader;
31 : reader.add_event(0, 0, “start”, “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”);
32 : reader.add_event(3, 1, “end”, “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”);
33 : return reader;
34 : }
35 :
36 : class model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1
37 : : public stan::model::model_base_crtp<model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1> {
38 : private:
39 : double y_mean;
40 : public:
41 : model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1(rstan::io::rlist_ref_var_context& context__,
42 : std::ostream* pstream__ = 0)
43 : : model_base_crtp(0) {
44 : ctor_body(context__, 0, pstream__);
45 : }
46 :
47 : model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1(stan::io::var_context& context__,
48 : unsigned int random_seed__,
49 : std::ostream* pstream__ = 0)
50 : : model_base_crtp(0) {
51 : ctor_body(context__, random_seed__, pstream__);
52 : }
53 :
54 : void ctor_body(stan::io::var_context& context__,
55 : unsigned int random_seed__,
56 : std::ostream* pstream__) {
57 : typedef double local_scalar_t__;
58 :
59 : boost::ecuyer1988 base_rng__ =
60 : stan::services::util::create_rng(random_seed__, 0);
61 : (void) base_rng__; // suppress unused var warning
62 :
63 : current_statement_begin__ = -1;
64 :
65 : static const char* function__ = “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”;
66 : (void) function__; // dummy to suppress unused var warning
67 : size_t pos__;
68 : (void) pos__; // dummy to suppress unused var warning
69 : std::vector vals_i__;
70 : std::vector vals_r__;
71 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
72 : (void) DUMMY_VAR__; // suppress unused var warning
73 :
74 : try {
75 : // initialize data block variables from context__
76 : current_statement_begin__ = 1;
77 : context__.validate_dims(“data initialization”, “y_mean”, “double”, context__.to_vec());
78 : y_mean = double(0);
79 : vals_r__ = context__.vals_r(“y_mean”);
80 : pos__ = 0;
81 : y_mean = vals_r__[pos__++];
82 :
83 :
84 : // initialize transformed data variables
85 : // execute transformed data statements
86 :
87 : // validate transformed data
88 :
89 : // validate, set parameter ranges
90 : num_params_r__ = 0U;
91 : param_ranges_i__.clear();
92 : current_statement_begin__ = 1;
93 : num_params_r__ += 1;
94 : } catch (const std::exception& e) {
95 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
96 : // Next line prevents compiler griping about no return
97 : throw std::runtime_error(“*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
98 : }
99 : }
100 :
101 : ~model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1() { }
102 :
103 :
104 : void transform_inits(const stan::io::var_context& context__,
105 : std::vector& params_i__,
106 : std::vector& params_r__,
107 : std::ostream
pstream__) const {
108 : typedef double local_scalar_t__;
109 : stan::io::writer writer__(params_r__, params_i__);
110 : size_t pos__;
111 : (void) pos__; // dummy call to supress warning
112 : std::vector vals_r__;
113 : std::vector vals_i__;
114 :
115 : current_statement_begin__ = 1;
116 : if (!(context__.contains_r(“y”)))
117 : stan::lang::rethrow_located(std::runtime_error(std::string(“Variable y missing”)), current_statement_begin__, prog_reader__());
118 : vals_r__ = context__.vals_r(“y”);
119 : pos__ = 0U;
120 : context__.validate_dims(“parameter initialization”, “y”, “double”, context__.to_vec());
121 : double y(0);
122 : y = vals_r__[pos__++];
123 : try {
124 : writer__.scalar_unconstrain(y);
125 : } catch (const std::exception& e) {
126 : stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable y: ") + e.what()), current_statement_begin__, prog_reader__());
127 : }
128 :
129 : params_r__ = writer__.data_r();
130 : params_i__ = writer__.data_i();
131 : }
132 :
133 : void transform_inits(const stan::io::var_context& context,
134 : Eigen::Matrix<double, Eigen::Dynamic, 1>& params_r,
135 : std::ostream
pstream__) const {
136 : std::vector params_r_vec;
137 : std::vector params_i_vec;
138 : transform_inits(context, params_i_vec, params_r_vec, pstream__);
139 : params_r.resize(params_r_vec.size());
140 : for (int i = 0; i < params_r.size(); ++i)
141 : params_r(i) = params_r_vec[i];
142 : }
143 :
144 :
145 : template <bool propto__, bool jacobian__, typename T__>
146 : T__ log_prob(std::vector<T__>& params_r__,
147 : std::vector& params_i__,
148 : std::ostream
pstream__ = 0) const {
149 :
150 : typedef T__ local_scalar_t__;
151 :
152 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
153 : (void) DUMMY_VAR__; // dummy to suppress unused var warning
154 :
155 : T__ lp__(0.0);
156 : stan::math::accumulator<T__> lp_accum__;
157 : try {
158 : stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
159 :
160 : // model parameters
161 : current_statement_begin__ = 1;
162 : local_scalar_t__ y;
163 : (void) y; // dummy to suppress unused var warning
164 : if (jacobian__)
165 : y = in__.scalar_constrain(lp__);
166 : else
167 : y = in__.scalar_constrain();
168 :
169 : // model body
170 :
171 : current_statement_begin__ = 1;
172 : lp_accum__.add(normal_log<propto__>(y, y_mean, 1));
173 :
174 : } catch (const std::exception& e) {
175 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
176 : // Next line prevents compiler griping about no return
177 : throw std::runtime_error(”*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
178 : }
179 :
180 : lp_accum__.add(lp__);
181 : return lp_accum__.sum();
182 :
183 : } // log_prob()
184 :
185 : template <bool propto, bool jacobian, typename T_>
186 : T_ log_prob(Eigen::Matrix<T_,Eigen::Dynamic,1>& params_r,
187 : std::ostream
pstream = 0) const {
188 : std::vector<T_> vec_params_r;
189 : vec_params_r.reserve(params_r.size());
190 : for (int i = 0; i < params_r.size(); ++i)
191 : vec_params_r.push_back(params_r(i));
192 : std::vector vec_params_i;
193 : return log_prob<propto,jacobian,T_>(vec_params_r, vec_params_i, pstream);
194 : }
195 :
196 :
197 : void get_param_names(std::vectorstd::string& names__) const {
198 : names__.resize(0);
199 : names__.push_back(“y”);
200 : }
201 :
202 :
203 : void get_dims(std::vector<std::vector<size_t> >& dimss__) const {
204 : dimss__.resize(0);
205 : std::vector<size_t> dims__;
206 : dims__.resize(0);
207 : dimss__.push_back(dims__);
208 : }
209 :
210 : template
211 : void write_array(RNG& base_rng__,
212 : std::vector& params_r__,
213 : std::vector& params_i__,
214 : std::vector& vars__,
215 : bool include_tparams__ = true,
216 : bool include_gqs__ = true,
217 : std::ostream
pstream__ = 0) const {
218 : typedef double local_scalar_t__;
219 :
220 : vars__.resize(0);
221 : stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
222 : static const char
function__ = “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::write_array”;
223 : (void) function__; // dummy to suppress unused var warning
224 :
225 : // read-transform, write parameters
226 : double y = in__.scalar_constrain();
227 : vars__.push_back(y);
228 :
229 : double lp__ = 0.0;
230 : (void) lp__; // dummy to suppress unused var warning
231 : stan::math::accumulator lp_accum__;
232 :
233 : local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
234 : (void) DUMMY_VAR__; // suppress unused var warning
235 :
236 : if (!include_tparams__ && !include_gqs__) return;
237 :
238 : try {
239 : if (!include_gqs__ && !include_tparams__) return;
240 : if (!include_gqs__) return;
241 : } catch (const std::exception& e) {
242 : stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
243 : // Next line prevents compiler griping about no return
244 : throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
245 : }
246 : }
247 :
248 : template
249 : void write_array(RNG& base_rng,
250 : Eigen::Matrix<double,Eigen::Dynamic,1>& params_r,
251 : Eigen::Matrix<double,Eigen::Dynamic,1>& vars,
252 : bool include_tparams = true,
253 : bool include_gqs = true,
254 : std::ostream
pstream = 0) const {
255 : std::vector params_r_vec(params_r.size());
256 : for (int i = 0; i < params_r.size(); ++i)
257 : params_r_vec[i] = params_r(i);
258 : std::vector vars_vec;
259 : std::vector params_i_vec;
260 : write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream);
261 : vars.resize(vars_vec.size());
262 : for (int i = 0; i < vars.size(); ++i)
263 : vars(i) = vars_vec[i];
264 : }
265 :
266 : std::string model_name() const {
267 : return “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”;
268 : }
269 :
270 :
271 : void constrained_param_names(std::vectorstd::string& param_names__,
272 : bool include_tparams__ = true,
273 : bool include_gqs__ = true) const {
274 : std::stringstream param_name_stream__;
275 : param_name_stream__.str(std::string());
276 : param_name_stream__ << “y”;
277 : param_names__.push_back(param_name_stream__.str());
278 :
279 : if (!include_gqs__ && !include_tparams__) return;
280 :
281 : if (include_tparams__) {
282 : }
283 :
284 : if (!include_gqs__) return;
285 : }
286 :
287 :
288 : void unconstrained_param_names(std::vectorstd::string& param_names__,
289 : bool include_tparams__ = true,
290 : bool include_gqs__ = true) const {
291 : std::stringstream param_name_stream__;
292 : param_name_stream__.str(std::string());
293 : param_name_stream__ << “y”;
294 : param_names__.push_back(param_name_stream__.str());
295 :
296 : if (!include_gqs__ && !include_tparams__) return;
297 :
298 : if (include_tparams__) {
299 : }
300 :
301 : if (!include_gqs__) return;
302 : }
303 :
304 : }; // model
305 :
306 : } // namespace
307 :
308 : typedef model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1 stan_model;
309 :
310 : #ifndef USING_R
311 :
312 : stan::model::model_base& new_model(
313 : stan::io::var_context& data_context,
314 : unsigned int seed,
315 : std::ostream
msg_stream) {
316 : stan_model
m = new stan_model(data_context, seed, msg_stream);
317 : return m;
318 : }
319 :
320 : #endif
321 :
322 :
323 :
324 : #include <rstan_next/stan_fit.hpp>
325 :
326 : struct stan_model_holder {
327 : stan_model_holder(rstan::io::rlist_ref_var_context rcontext,
328 : unsigned int random_seed)
329 : : rcontext_(rcontext), random_seed_(random_seed)
330 : {
331 : }
332 :
333 : //stan::math::ChainableStack ad_stack;
334 : rstan::io::rlist_ref_var_context rcontext_;
335 : unsigned int random_seed_;
336 : };
337 :
338 : Rcpp::XPtrstan::model::model_base model_ptr(stan_model_holder
smh) {
339 : Rcpp::XPtrstan::model::model_base model_instance(new stan_model(smh->rcontext_, smh->random_seed_), true);
340 : return model_instance;
341 : }
342 :
343 : Rcpp::XPtrrstan::stan_fit_base fit_ptr(stan_model_holder* smh) {
344 : return Rcpp::XPtrrstan::stan_fit_base(new rstan::stan_fit(model_ptr(smh), smh->random_seed_), true);
345 : }
346 :
347 : std::string model_name(stan_model_holder* smh) {
348 : return model_ptr(smh).get()->model_name();
349 : }
350 :
351 : RCPP_MODULE(stan_fit4model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_mod){
352 : Rcpp::class_<stan_model_holder>(“stan_fit4model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”)
353 : .constructor<rstan::io::rlist_ref_var_context, unsigned int>()
354 : .method(“model_ptr”, &model_ptr)
355 : .method(“fit_ptr”, &fit_ptr)
356 : .method(“model_name”, &model_name)
357 : ;
358 : }
359 :
360 :
361 : // declarations
362 : extern “C” {
363 : SEXP file3d642e0f35a6( ) ;
364 : }
365 :
366 : // definition
367 : SEXP file3d642e0f35a6() {
368 : return Rcpp::wrap(“73fc79f8b1915e8208c736914c86d1a1”);
369 : }
make cmd is
make -f “C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/etc/x64/Makeconf” -f “C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/share/make/winshlib.mk” -f “C:/Users/ymb0814/Documents/.R/Makevars.win” CXX=‘(CXX11) (CXX11STD)’ CXXFLAGS=‘(CXX11FLAGS)' CXXPICFLAGS='(CXX11PICFLAGS)’ SHLIB_LDFLAGS=‘(SHLIB_CXX11LDFLAGS)' SHLIB_LD='(SHLIB_CXX11LD)’ SHLIB=“file3d642e0f35a6.dll” WIN=64 TCLBIN=64 OBJECTS=“file3d642e0f35a6.o”

make would use
c:/Rtools/mingw_64/bin/g++ -std=gnu++11 -I"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/include" -DNDEBUG -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/Rcpp/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppEigen/include/unsupported" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/BH/include" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/src/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/include/" -I"C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/include" -DEIGEN_NO_DEBUG -DBOOST_DISABLE_ASSERTS -DBOOST_PENDING_INTEGER_LOG2_HPP -DSTAN_THREADS -DBOOST_NO_AUTO_PTR -include “C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp” -std=c++1y -O2 -Wall -mtune=generic -c file3d642e0f35a6.cpp -o file3d642e0f35a6.o
if test “zfile3d642e0f35a6.o” != “z”; then
if test -e “file3d642e0f35a6-win.def”; then
echo c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file3d642e0f35a6.dll file3d642e0f35a6-win.def file3d642e0f35a6.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file3d642e0f35a6.dll file3d642e0f35a6-win.def file3d642e0f35a6.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
else
echo EXPORTS > tmp.def;
c:/Rtools/mingw_64/bin/nm file3d642e0f35a6.o | sed -n ‘s/^.* [BCDRT] / /p’ | sed -e ‘/[.]refptr[.]/d’ -e ‘/[.]weak[.]/d’ | sed ‘s/[^ ][^ ]*/“&”/g’ >> tmp.def;
echo c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file3d642e0f35a6.dll tmp.def file3d642e0f35a6.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
c:/Rtools/mingw_64/bin/g++ -shared -s -static-libgcc -o file3d642e0f35a6.dll tmp.def file3d642e0f35a6.o “C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a” -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/StanHeaders/libs/x64" -lStanHeaders -L"C:/Users/ymb0814/Documents/R/R-3.6.2/library/RcppParallel/lib/x64" -ltbb -L"C:/Users/ymb0814/DOCUME~1/R/R-36~1.2/bin/x64" -lR ;
rm -f tmp.def;
fi
fi

ERROR(s) during compilation: source code errors or compiler configuration errors!

Program source:
1:
2: // includes from the plugin
3: // [[Rcpp::plugins(cpp14)]]
4:
5:
6: // user includes
7: #include <Rcpp.h>
8: #include <rstan/io/rlist_ref_var_context.hpp>
9: #include <rstan/io/r_ostream.hpp>
10: #include <rstan/stan_args.hpp>
11: #include <boost/integer/integer_log2.hpp>
12: // Code generated by Stan version 2.21.0
13:
14: #include <stan/model/model_header.hpp>
15:
16: namespace model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace {
17:
18: using std::istream;
19: using std::string;
20: using std::stringstream;
21: using std::vector;
22: using stan::io::dump;
23: using stan::math::lgamma;
24: using stan::model::prob_grad;
25: using namespace stan::math;
26:
27: static int current_statement_begin__;
28:
29: stan::io::program_reader prog_reader__() {
30: stan::io::program_reader reader;
31: reader.add_event(0, 0, “start”, “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”);
32: reader.add_event(3, 1, “end”, “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”);
33: return reader;
34: }
35:
36: class model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1
37: : public stan::model::model_base_crtp<model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1> {
38: private:
39: double y_mean;
40: public:
41: model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1(rstan::io::rlist_ref_var_context& context__,
42: std::ostream* pstream__ = 0)
43: : model_base_crtp(0) {
44: ctor_body(context__, 0, pstream__);
45: }
46:
47: model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1(stan::io::var_context& context__,
48: unsigned int random_seed__,
49: std::ostream* pstream__ = 0)
50: : model_base_crtp(0) {
51: ctor_body(context__, random_seed__, pstream__);
52: }
53:
54: void ctor_body(stan::io::var_context& context__,
55: unsigned int random_seed__,
56: std::ostream* pstream__) {
57: typedef double local_scalar_t__;
58:
59: boost::ecuyer1988 base_rng__ =
60: stan::services::util::create_rng(random_seed__, 0);
61: (void) base_rng__; // suppress unused var warning
62:
63: current_statement_begin__ = -1;
64:
65: static const char* function__ = “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”;
66: (void) function__; // dummy to suppress unused var warning
67: size_t pos__;
68: (void) pos__; // dummy to suppress unused var warning
69: std::vector vals_i__;
70: std::vector vals_r__;
71: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
72: (void) DUMMY_VAR__; // suppress unused var warning
73:
74: try {
75: // initialize data block variables from context__
76: current_statement_begin__ = 1;
77: context__.validate_dims(“data initialization”, “y_mean”, “double”, context__.to_vec());
78: y_mean = double(0);
79: vals_r__ = context__.vals_r(“y_mean”);
80: pos__ = 0;
81: y_mean = vals_r__[pos__++];
82:
83:
84: // initialize transformed data variables
85: // execute transformed data statements
86:
87: // validate transformed data
88:
89: // validate, set parameter ranges
90: num_params_r__ = 0U;
91: param_ranges_i__.clear();
92: current_statement_begin__ = 1;
93: num_params_r__ += 1;
94: } catch (const std::exception& e) {
95: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
96: // Next line prevents compiler griping about no return
97: throw std::runtime_error(“*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
98: }
99: }
100:
101: ~model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1() { }
102:
103:
104: void transform_inits(const stan::io::var_context& context__,
105: std::vector& params_i__,
106: std::vector& params_r__,
107: std::ostream
pstream__) const {
108: typedef double local_scalar_t__;
109: stan::io::writer writer__(params_r__, params_i__);
110: size_t pos__;
111: (void) pos__; // dummy call to supress warning
112: std::vector vals_r__;
113: std::vector vals_i__;
114:
115: current_statement_begin__ = 1;
116: if (!(context__.contains_r(“y”)))
117: stan::lang::rethrow_located(std::runtime_error(std::string(“Variable y missing”)), current_statement_begin__, prog_reader__());
118: vals_r__ = context__.vals_r(“y”);
119: pos__ = 0U;
120: context__.validate_dims(“parameter initialization”, “y”, “double”, context__.to_vec());
121: double y(0);
122: y = vals_r__[pos__++];
123: try {
124: writer__.scalar_unconstrain(y);
125: } catch (const std::exception& e) {
126: stan::lang::rethrow_located(std::runtime_error(std::string("Error transforming variable y: ") + e.what()), current_statement_begin__, prog_reader__());
127: }
128:
129: params_r__ = writer__.data_r();
130: params_i__ = writer__.data_i();
131: }
132:
133: void transform_inits(const stan::io::var_context& context,
134: Eigen::Matrix<double, Eigen::Dynamic, 1>& params_r,
135: std::ostream
pstream__) const {
136: std::vector params_r_vec;
137: std::vector params_i_vec;
138: transform_inits(context, params_i_vec, params_r_vec, pstream__);
139: params_r.resize(params_r_vec.size());
140: for (int i = 0; i < params_r.size(); ++i)
141: params_r(i) = params_r_vec[i];
142: }
143:
144:
145: template <bool propto__, bool jacobian__, typename T__>
146: T__ log_prob(std::vector<T__>& params_r__,
147: std::vector& params_i__,
148: std::ostream
pstream__ = 0) const {
149:
150: typedef T__ local_scalar_t__;
151:
152: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
153: (void) DUMMY_VAR__; // dummy to suppress unused var warning
154:
155: T__ lp__(0.0);
156: stan::math::accumulator<T__> lp_accum__;
157: try {
158: stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
159:
160: // model parameters
161: current_statement_begin__ = 1;
162: local_scalar_t__ y;
163: (void) y; // dummy to suppress unused var warning
164: if (jacobian__)
165: y = in__.scalar_constrain(lp__);
166: else
167: y = in__.scalar_constrain();
168:
169: // model body
170:
171: current_statement_begin__ = 1;
172: lp_accum__.add(normal_log<propto__>(y, y_mean, 1));
173:
174: } catch (const std::exception& e) {
175: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());
176: // Next line prevents compiler griping about no return
177: throw std::runtime_error(”*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
178: }
179:
180: lp_accum__.add(lp__);
181: return lp_accum__.sum();
182:
183: } // log_prob()
184:
185: template <bool propto, bool jacobian, typename T_>
186: T_ log_prob(Eigen::Matrix<T_,Eigen::Dynamic,1>& params_r,
187: std::ostream
pstream = 0) const {
188: std::vector<T_> vec_params_r;
189: vec_params_r.reserve(params_r.size());
190: for (int i = 0; i < params_r.size(); ++i)
191: vec_params_r.push_back(params_r(i));
192: std::vector vec_params_i;
193: return log_prob<propto,jacobian,T_>(vec_params_r, vec_params_i, pstream);
194: }
195:
196:
197: void get_param_names(std::vectorstd::string& names__) const {
198: names__.resize(0);
199: names__.push_back(“y”);
200: }
201:
202:
203: void get_dims(std::vector<std::vector<size_t> >& dimss__) const {
204: dimss__.resize(0);
205: std::vector<size_t> dims__;
206: dims__.resize(0);
207: dimss__.push_back(dims__);
208: }
209:
210: template
211: void write_array(RNG& base_rng__,
212: std::vector& params_r__,
213: std::vector& params_i__,
214: std::vector& vars__,
215: bool include_tparams__ = true,
216: bool include_gqs__ = true,
217: std::ostream
pstream__ = 0) const {
218: typedef double local_scalar_t__;
219:
220: vars__.resize(0);
221: stan::io::reader<local_scalar_t__> in__(params_r__, params_i__);
222: static const char
function__ = “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::write_array”;
223: (void) function__; // dummy to suppress unused var warning
224:
225: // read-transform, write parameters
226: double y = in__.scalar_constrain();
227: vars__.push_back(y);
228:
229: double lp__ = 0.0;
230: (void) lp__; // dummy to suppress unused var warning
231: stan::math::accumulator lp_accum__;
232:
233: local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN());
234: (void) DUMMY_VAR__; // suppress unused var warning
235:
236: if (!include_tparams__ && !include_gqs__) return;
237:
238: try {
239: if (!include_gqs__ && !include_tparams__) return;
240: if (!include_gqs__) return;
241: } catch (const std::exception& e) {
242: stan::lang::rethrow_located(e, current_statement_begin__, prog_reader__());

243: // Next line prevents compiler griping about no return
244: throw std::runtime_error("*** IF YOU SEE THIS, PLEASE REPORT A BUG ");
245: }
246: }
247:
248: template
249: void write_array(RNG& base_rng,
250: Eigen::Matrix<double,Eigen::Dynamic,1>& params_r,
251: Eigen::Matrix<double,Eigen::Dynamic,1>& vars,
252: bool include_tparams = true,
253: bool include_gqs = true,
254: std::ostream
pstream = 0) const {
255: std::vector params_r_vec(params_r.size());
256: for (int i = 0; i < params_r.size(); ++i)
257: params_r_vec[i] = params_r(i);
258: std::vector vars_vec;
259: std::vector params_i_vec;
260: write_array(base_rng, params_r_vec, params_i_vec, vars_vec, include_tparams, include_gqs, pstream);
261: vars.resize(vars_vec.size());
262: for (int i = 0; i < vars.size(); ++i)
263: vars(i) = vars_vec[i];
264: }
265:
266: std::string model_name() const {
267: return “model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”;
268: }
269:
270:
271: void constrained_param_names(std::vectorstd::string& param_names__,
272: bool include_tparams__ = true,
273: bool include_gqs__ = true) const {
274: std::stringstream param_name_stream__;
275: param_name_stream__.str(std::string());
276: param_name_stream__ << “y”;
277: param_names__.push_back(param_name_stream__.str());
278:
279: if (!include_gqs__ && !include_tparams__) return;
280:
281: if (include_tparams__) {
282: }
283:
284: if (!include_gqs__) return;
285: }
286:
287:
288: void unconstrained_param_names(std::vectorstd::string& param_names__,
289: bool include_tparams__ = true,
290: bool include_gqs__ = true) const {
291: std::stringstream param_name_stream__;
292: param_name_stream__.str(std::string());
293: param_name_stream__ << “y”;
294: param_names__.push_back(param_name_stream__.str());
295:
296: if (!include_gqs__ && !include_tparams__) return;
297:
298: if (include_tparams__) {
299: }
300:
301: if (!include_gqs__) return;
302: }
303:
304: }; // model
305:
306: } // namespace
307:
308: typedef model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_namespace::model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1 stan_model;
309:
310: #ifndef USING_R
311:
312: stan::model::model_base& new_model(
313: stan::io::var_context& data_context,
314: unsigned int seed,
315: std::ostream
msg_stream) {
316: stan_model
m = new stan_model(data_context, seed, msg_stream);
317: return m;
318: }
319:
320: #endif
321:
322:
323:
324: #include <rstan_next/stan_fit.hpp>
325:
326: struct stan_model_holder {
327: stan_model_holder(rstan::io::rlist_ref_var_context rcontext,
328: unsigned int random_seed)
329: : rcontext_(rcontext), random_seed_(random_seed)
330: {
331: }
332:
333: //stan::math::ChainableStack ad_stack;
334: rstan::io::rlist_ref_var_context rcontext_;
335: unsigned int random_seed_;
336: };
337:
338: Rcpp::XPtrstan::model::model_base model_ptr(stan_model_holder
smh) {
339: Rcpp::XPtrstan::model::model_base model_instance(new stan_model(smh->rcontext_, smh->random_seed_), true);
340: return model_instance;
341: }
342:
343: Rcpp::XPtrrstan::stan_fit_base fit_ptr(stan_model_holder* smh) {
344: return Rcpp::XPtrrstan::stan_fit_base(new rstan::stan_fit(model_ptr(smh), smh->random_seed_), true);
345: }
346:
347: std::string model_name(stan_model_holder* smh) {
348: return model_ptr(smh).get()->model_name();
349: }
350:
351: RCPP_MODULE(stan_fit4model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1_mod){
352: Rcpp::class_<stan_model_holder>(“stan_fit4model3d64528b4dc4_73fc79f8b1915e8208c736914c86d1a1”)
353: .constructor<rstan::io::rlist_ref_var_context, unsigned int>()
354: .method(“model_ptr”, &model_ptr)
355: .method(“fit_ptr”, &fit_ptr)
356: .method(“model_name”, &model_name)
357: ;
358: }
359:
360:
361: // declarations
362: extern “C” {
363: SEXP file3d642e0f35a6( ) ;
364: }
365:
366: // definition
367: SEXP file3d642e0f35a6() {
368: return Rcpp::wrap(“73fc79f8b1915e8208c736914c86d1a1”);
369: }

Compilation ERROR, function(s)/method(s) not created!
Error in compileCode(f, code, language = language, verbose = verbose) :
file3d642e0f35a6.o:file3d642e0f35a6.cpp:(.data$_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2P1[_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2P1]+0x0): first defined hereC:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan/lib/x64/libStanServices.a(stan_fit.o):stan_fit.cpp:(.rdata$_ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2Q2[ZZN5boost4math6detail9bessel_y0IeNS0_8policies6policyINS3_13promote_floatILb0EEENS3_14promote_doubleILb0EEENS3_14default_policyES9_S9_S9_S9_S9_S9_S9_S9_S9_S9_EEEET_SB_RKT0_E2Q2]+0x0): multiple definition of `long double boost::math::detail::bessel_y0<long double, boost::ma
In addition: Warning message:
In system(paste(CXX, ARGS), ignore.stdout = TRUE, ignore.stderr = TRUE) :
'C:/rtools40/usr/mingw
/bin/g++’ not found

Make sure that you restart R before installing the packages (i.e., have to make sure that no packages are loaded). If that doesn’t work, then try removing RStan and StanHeaders and trying the install (from source) again

Hi, thank you for your help!

I restarted R, removed the packages ( RStan and StanHeaders ), restarted again, and installed them. I still can’t make it work.

StanHeaders has been installed, but rstan has not.

I unsuccessfully tried the " Makevars" configuration from: Configuring C Toolchain for Windows · stan-dev/rstan Wiki · GitHub.

This is the installation error.:

  • installing source package ‘rstan’ …
    ** package ‘rstan’ successfully unpacked and MD5 sums checked
    ** using staged installation
    ** libs

*** arch - i386
Error in .shlib_internal(args) :
C++14 standard requested but CXX14 is not defined

  • removing ‘C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan’
    Warning in install.packages :
    installation of package ‘rstan’ had non-zero exit status

I’ve just edited the Windows instructions so that CXX14 error won’t happen any more. Can you try the following steps:

  • remove.packages(c("rstan","StanHeaders"))
  • Restart R
  • Update Makevars:
dotR <- file.path(Sys.getenv("HOME"), ".R")
if (!file.exists(dotR)) dir.create(dotR)
M <- file.path(dotR, "Makevars.win")
if (!file.exists(M)) file.create(M)
cat("\n CXX14 = g++\n CXX14FLAGS += -mtune=native -O3 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2",
    file = M, sep = "\n", append = FALSE)
  • install.packages(c("StanHeaders","rstan"),type="source")

If that all installs fine, then try the example model:

example(stan_model,package="rstan",run.dontrun=T)

If the example model still doesn’t run, then can you post the output from:

devtools::session_info("rstan")

Thank you again. I removed the packages and updated Makevars as instructed, still I got:

  • installing source package ‘rstan’ …
    ** package ‘rstan’ successfully unpacked and MD5 sums checked
    ** using staged installation
    ** libs

*** arch - i386
Error in .shlib_internal(args) :
C++14 standard requested but CXX14 is not defined

  • removing ‘C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan’
    Warning in install.packages :
    installation of package ‘rstan’ had non-zero exit status

I’m not sure if it matters (as it didn’t install), but, this is what I got from devtools::session_info(“rstan”)

  • Session info ---------------------------------------------------------------------------------------
    setting value
    version R version 3.6.2 (2019-12-12)
    os Windows 10 x64
    system x86_64, mingw32
    ui RStudio
    language (EN)
    collate English_United States.1252
    ctype English_United States.1252
    tz America/Chicago
    date 2021-01-21

  • Packages -------------------------------------------------------------------------------------------
    ! package * version date lib source
    R rstan [?]

[1] C:/Users/ymb0814/Documents/R/R-3.6.2/library

R – Package was removed from disk.

What do you get from:

readLines("~/.R/Makevars.win")

That CXX14 error shouldn’t be popping up anymore, odd

I get:

[1] ""                                                                                    
[2] " CXX14 = g++"                                                                        
[3] " CXX14FLAGS += -mtune=native -O3 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2"

Sorry about all these issues! Can you try running:

dotR <- file.path(Sys.getenv("HOME"), ".R")
if (!file.exists(dotR)) dir.create(dotR)
M <- file.path(dotR, "Makevars.win")
if (!file.exists(M)) file.create(M)
cat("\n CXX14 = g++ -std=c++1y \n CXX14FLAGS += -mtune=native -O3 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2",
    file = M, sep = "\n", append = FALSE)

Then restart R and try again?

No problem, and thank you for your time helping me to figure it out.
I followed your instructions.

> readLines("~/.R/Makevars.win")
[1] ""                                                                                    
[2] " CXX14 = g++ -std=c++1y "                                                            
[3] " CXX14FLAGS += -mtune=native -O3 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2"

but I get the same error:

* DONE (StanHeaders)
* installing *source* package 'rstan' ...
** package 'rstan' successfully unpacked and MD5 sums checked
** using staged installation
** libs

*** arch - i386
Error in .shlib_internal(args) : 
  C++14 standard requested but CXX14 is not defined
* removing 'C:/Users/ymb0814/Documents/R/R-3.6.2/library/rstan'
Warning in install.packages :
  installation of package ‘rstan’ had non-zero exit status

Hmm I’m not sure here, I’ll tag the main RStan dev to see if he knows what’s going on.

@bgoodri This user is working with R3.6 and getting the C++14 standard requested but CXX14 is not defined error, even though their Makevars is setting CXX14:

> readLines("~/.R/Makevars.win")
[1] ""                                                                                    
[2] " CXX14 = g++ -std=c++1y "                                                            
[3] " CXX14FLAGS += -mtune=native -O3 -mmmx -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2"

Is this something you’ve seen before?

Hi! I still have the same problem. Any further recommendations?

Sorry to hear that!

Are you able to update to R4.0 and RTools4? That usually fixes these kinds of problems as well.

Thank you! I didn’t know that this was the problem. I updated it and installed it again. It worked!

Fantastic! Sorry we took so long to get you working!

1 Like

Hi, I’m having the same issue. This is the error message

Error in compileCode(f, code, language = language, verbose = verbose) : 
  Compilation ERROR, function(s)/method(s) not created! In file included from <built-in>:1:
In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/StanHeaders/include/stan/math/prim/mat/fun/Eigen.hpp:4:
In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/RcppEigen/include/Eigen/Dense:1:
In file included from /Library/Frameworks/R.framework/Versions/3.6/Resources/library/RcppEigen/include/Eigen/Core:82:
In file included from /usr/local/clang7/include/c++/v1/new:91:
In file included from /usr/local/clang7/include/c++/v1/exception:82:
In file included from /usr/local/clang7/include/c++/v1/cstdlib:86:
/usr/local/clang7/include/c++/v1/stdlib.h:111:82: error: use of undeclared identifier 'labs'; did you mean 'abs'?
inline _LIBCPP_INLINE_VISIBILITY long      abs(     long __x) _NOEXCEPT {return  labs(__x);}
                                                                                 ^
/usr/local/clang7/include/c++/v1/s
In addition: Warning message:
In system(cmd, intern = !verbose) :
  running command '/Library/Frameworks/R.framework/Resources/bin/R CMD SHLIB file2cab7b41d3.cpp 2> file2cab7b41d3.cpp.err.txt' had status 1
Error in sink(type = "output") : invalid connection

I tried updating Xcode, and doing

install.packages("https://cran.r-project.org/src/contrib/Archive/StanHeaders/StanHeaders_2.19.0.tar.gz",
                 repos = NULL)

but to no avail. Any hints as to how I could get Stan to work? Thanks!

Okay, I reinstalled my R, RStudio, all the packages, and now I have a new error:

Error in compileCode(f, code, language = language, verbose = verbose) : 
  /usr/local/clang7/include/c++/v1/cstdlib:119:9: error: no member named 'strtoul' in the global namespaceusing ::strtoul;      ~~^fatal error: too many errors emitted, stopping now [-ferror-limit=]20 errors generated.make: *** [file16e67ff15967.o] Error 1
In addition: Warning messages:
1: In system2(CXX, args = ARGS) : error in running command
2: In file.remove(c(unprocessed, processed)) :
  cannot remove file '/var/folders/qp/2x2fhtc96vb35rm4vwgcp64c0000gn/T//RtmpllMEia/file16e61be9a21e.stan', reason 'No such file or directory'
Error in sink(type = "output") : invalid connection

?