Hi Daniel,
Thank you very much for the reply.
Indeed, as also Ben had suggested, after adding the extra flag 'make o=0 test-unit' successfully passes all 66 test after compiling stan with 'clang++ -std=c++11 -stdlib=libc++'.
I've attached 8schools.R below, but haven't changed that file for a while now and it runs fine with Rstan using CRAN R-3.0.1.
I'll try what happens with other levels of optimization when compiling stan.
What surprises me is:
1) Compiling stan and installing Rstan both create error messages as below (related to templating in the boost package?).
2) But while stan works, e.g. the standard bivariate example in src/models/... works fine, Rstan can't compile a 'similar' input file (bivariate.R, added below) with the console displaying:
-------------------- bivariate.R output --------------------------------------
> source('~/Projects/R/R_projects/Rstan/bivariate/bivariate.R')
Loading required package: stats4
rstan (Version 1.3.0, packaged: 2013-04-12 21:12:02 UTC, GitRev: f57455593d14)
TRANSLATING MODEL 'bivar' FROM Stan CODE TO C++ CODE NOW.
Error in stanc(file = file, model_code = model_code, model_name = model_name, :
failed to parse Stan model 'bivar' with error message:
EXPECTATION FAILURE LOCATION: file=input; line=12, column=2
}
^-- here
DIAGNOSTIC(S) FROM PARSER:
Parser expecting: "*/"
----------------------------------------------------------------------------------------
Still trying a few ways in understanding below compiler errors.
Regards,
Rob J. Goedman
goe...@icloud.com
robs-15inch-2:stan-src-1.3.0 rob$ make bin/libstan.a
clang++ -std=c++11 -stdlib=libc++ -I src -I lib/eigen_3.1.2 -I lib/boost_1.53.0 -Wall -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -Wno-unused-function -Wno-tautological-compare -c -O3 -o bin/stan/agrad/rev/var_stack.o src/stan/agrad/rev/var_stack.cpp
clang++ -std=c++11 -stdlib=libc++ -I src -I lib/eigen_3.1.2 -I lib/boost_1.53.0 -Wall -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -Wno-unused-function -Wno-tautological-compare -c -O3 -o bin/stan/math/matrix.o src/stan/math/matrix.cpp
clang++ -std=c++11 -stdlib=libc++ -I src -I lib/eigen_3.1.2 -I lib/boost_1.53.0 -Wall -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -Wno-unused-function -Wno-tautological-compare -c -O3 -o bin/stan/agrad/matrix.o src/stan/agrad/matrix.cpp
ar -rs bin/libstan.a bin/stan/agrad/rev/var_stack.o bin/stan/math/matrix.o bin/stan/agrad/matrix.o
ar: creating archive bin/libstan.a
/usr/bin/ranlib: file: bin/libstan.a(matrix.o) has no symbols
robs-15inch-2:stan-src-1.3.0 rob$ make bin/stanc
clang++ -std=c++11 -stdlib=libc++ -I src -I lib/eigen_3.1.2 -I lib/boost_1.53.0 -Wall -DBOOST_RESULT_OF_USE_TR1 -DBOOST_NO_DECLTYPE -DBOOST_DISABLE_ASSERTS -Wno-unused-function -Wno-tautological-compare -c -O3 -o bin/stan/command/stanc.o src/stan/command/stanc.cpp
In file included from src/stan/command/stanc.cpp:1:
In file included from src/stan/command/stanc_helper.hpp:2:
In file included from src/stan/gm/compiler.hpp:5:
In file included from src/stan/gm/generator.hpp:5:
In file included from lib/boost_1.53.0/boost/lexical_cast.hpp:169:
In file included from lib/boost_1.53.0/boost/range/iterator_range_core.hpp:26:
In file included from lib/boost_1.53.0/boost/range/functions.hpp:23:
In file included from lib/boost_1.53.0/boost/range/rbegin.hpp:19:
In file included from lib/boost_1.53.0/boost/range/reverse_iterator.hpp:20:
In file included from lib/boost_1.53.0/boost/iterator/reverse_iterator.hpp:12:
lib/boost_1.53.0/boost/iterator/iterator_adaptor.hpp:306:18: warning: returning reference to local temporary object [-Wreturn-stack-address]
{ return *m_iterator; }
^~~~~~~~~~~
lib/boost_1.53.0/boost/iterator/iterator_facade.hpp:514:20: note: in instantiation of member function
'boost::iterator_adaptor<boost::spirit::classic::position_iterator2<boost::spirit::multi_pass<std::__1::istreambuf_iterator<char,
std::__1::char_traits<char> >, boost::spirit::iterator_policies::default_policy<boost::spirit::iterator_policies::ref_counted,
boost::spirit::iterator_policies::no_check, boost::spirit::iterator_policies::buffering_input_iterator,
boost::spirit::iterator_policies::split_std_deque> >, boost::spirit::classic::file_position_base<std::__1::basic_string<char> > >,
boost::spirit::multi_pass<std::__1::istreambuf_iterator<char, std::__1::char_traits<char> >,
boost::spirit::iterator_policies::default_policy<boost::spirit::iterator_policies::ref_counted,
boost::spirit::iterator_policies::no_check, boost::spirit::iterator_policies::buffering_input_iterator,
boost::spirit::iterator_policies::split_std_deque> >, const char, boost::forward_traversal_tag, boost::use_default,
boost::use_default>::dereference' requested here
return f.dereference();
^
lib/boost_1.53.0/boost/iterator/iterator_facade.hpp:639:18: note: in instantiation of function template specialization
'boost::iterator_core_access::dereference<boost::spirit::classic::position_iterator2<boost::spirit::multi_pass<std::__1::istreambuf_iterator<char,
std::__1::char_traits<char> >, boost::spirit::iterator_policies::default_policy<boost::spirit::iterator_policies::ref_counted,
boost::spirit::iterator_policies::no_check, boost::spirit::iterator_policies::buffering_input_iterator,
boost::spirit::iterator_policies::split_std_deque> >, boost::spirit::classic::file_position_base<std::__1::basic_string<char> > > >'
requested here
return iterator_core_access::dereference(this->derived());
^
lib/boost_1.53.0/boost/concept_check.hpp:521:15: note: in instantiation of member function
'boost::iterator_facade<boost::spirit::classic::position_iterator2<boost::spirit::multi_pass<std::__1::istreambuf_iterator<char,
std::__1::char_traits<char> >, boost::spirit::iterator_policies::default_policy<boost::spirit::iterator_policies::ref_counted,
boost::spirit::iterator_policies::no_check, boost::spirit::iterator_policies::buffering_input_iterator,
boost::spirit::iterator_policies::split_std_deque> >, boost::spirit::classic::file_position_base<std::__1::basic_string<char> > >,
const char, boost::forward_traversal_tag, const char &, long long>::operator*' requested here
(void)*i; // require dereference operator
^
lib/boost_1.53.0/boost/concept/usage.hpp:22:43: note: in instantiation of member function
'boost::InputIterator<boost::spirit::classic::position_iterator2<boost::spirit::multi_pass<std::__1::istreambuf_iterator<char,
std::__1::char_traits<char> >, boost::spirit::iterator_policies::default_policy<boost::spirit::iterator_policies::ref_counted,
boost::spirit::iterator_policies::no_check, boost::spirit::iterator_policies::buffering_input_iterator,
boost::spirit::iterator_policies::split_std_deque> >, boost::spirit::classic::file_position_base<std::__1::basic_string<char> > >
>::~InputIterator' requested here
~usage_requirements() { ((Model*)0)->~Model(); }