I cannot install cmdstan, and it seems to be a problem with boost. I cloned the repo, ran make build
, and then get the output and error below. I’m running Mac OS 10.15.7, clang version 12.0.0 (clang-1200.0.32.2), and attempting to install cmdstan 2.22.
clang++ -std=c++1y -Wno-unknown-warning-option -Wno-tautological-compare -Wno-sign-compare -D_REENTRANT -Wno-ignored-attributes -I stan/lib/stan_math/lib/tbb_2019_U8/include -O3 -I src -I stan/src -I lib/rapidjson_1.1.0/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.9 -I stan/lib/stan_math/lib/boost_1.72.0 -I stan/lib/stan_math/lib/sundials_5.5.0/include -DBOOST_DISABLE_ASSERTS -Wl,-L,"/Users/hamedbh/github/cmdstan/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/hamedbh/github/cmdstan/stan/lib/stan_math/lib/tbb" bin/cmdstan/stansummary.o stan/lib/stan_math/lib/boost_1.72.0/stage/lib/libboost_program_options.a stan/lib/stan_math/lib/boost_1.72.0/stage/lib/libboost_program_options.a -o bin/stansummary
ld: warning: directory not found for option '-L/Users/hamedbh/github/cmdstan/stan/lib/stan_math/lib/tbb'
ld: warning: ignoring file stan/lib/stan_math/lib/boost_1.72.0/stage/lib/libboost_program_options.a, building for macOS-x86_64 but attempting to link with file built for unknown-unsupported file format ( 0x21 0x3C 0x61 0x72 0x63 0x68 0x3E 0x0A 0x2F 0x20 0x20 0x20 0x20 0x20 0x20 0x20 )
Undefined symbols for architecture x86_64:
"boost::program_options::validators::check_first_occurrence(boost::any const&)", referenced from:
void boost::program_options::validate<int, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, int*, long) in stansummary.o
"boost::program_options::to_internal(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > boost::program_options::to_internal<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) in stansummary.o
"boost::program_options::variables_map::variables_map()", referenced from:
_main in stansummary.o
"boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const& boost::program_options::validators::get_single_string<char>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) in stansummary.o
"boost::program_options::options_description::add_options()", referenced from:
_main in stansummary.o
"boost::program_options::options_description::m_default_line_length", referenced from:
_main in stansummary.o
"boost::program_options::options_description::options_description(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned int, unsigned int)", referenced from:
_main in stansummary.o
"boost::program_options::invalid_option_value::invalid_option_value(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
void boost::program_options::validate<int, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, int*, long) in stansummary.o
void boost::program_options::validate<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, int) in stansummary.o
"boost::program_options::error_with_option_name::error_with_option_name(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const& boost::program_options::validators::get_single_string<char>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) in stansummary.o
"boost::program_options::options_description_easy_init::operator()(char const*, boost::program_options::value_semantic const*, char const*)", referenced from:
_main in stansummary.o
"boost::program_options::options_description_easy_init::operator()(char const*, char const*)", referenced from:
_main in stansummary.o
"boost::program_options::positional_options_description::add(char const*, int)", referenced from:
_main in stansummary.o
"boost::program_options::positional_options_description::positional_options_description()", referenced from:
_main in stansummary.o
"boost::program_options::arg", referenced from:
boost::program_options::typed_value<int, char>::name() const in stansummary.o
boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>::name() const in stansummary.o
boost::program_options::typed_value<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char>::name() const in stansummary.o
"boost::program_options::store(boost::program_options::basic_parsed_options<char> const&, boost::program_options::variables_map&, bool)", referenced from:
_main in stansummary.o
"boost::program_options::detail::cmdline::set_positional_options(boost::program_options::positional_options_description const&)", referenced from:
_main in stansummary.o
"boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)", referenced from:
_main in stansummary.o
"boost::program_options::detail::cmdline::get_canonical_option_prefix()", referenced from:
boost::program_options::basic_command_line_parser<char>::run() in stansummary.o
"boost::program_options::detail::cmdline::run()", referenced from:
boost::program_options::basic_command_line_parser<char>::run() in stansummary.o
"boost::program_options::detail::cmdline::cmdline(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&)", referenced from:
boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(int, char const* const*) in stansummary.o
"boost::program_options::notify(boost::program_options::variables_map&)", referenced from:
_main in stansummary.o
"boost::program_options::validate(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, int)", referenced from:
boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>::xparse(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) const in stansummary.o
void boost::program_options::validate<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >*, int) in stansummary.o
"boost::program_options::abstract_variables_map::operator[](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
_main in stansummary.o
"boost::program_options::error_with_option_name::substitute_placeholders(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const", referenced from:
vtable for boost::exception_detail::error_info_injector<boost::program_options::validation_error> in stansummary.o
vtable for boost::program_options::validation_error in stansummary.o
vtable for boost::wrapexcept<boost::program_options::validation_error> in stansummary.o
construction vtable for boost::exception_detail::clone_impl<boost::wrapexcept<boost::program_options::validation_error>::error_info_injector<boost::program_options::validation_error> >-in-boost::wrapexcept<boost::program_options::validation_error> in stansummary.o
vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> > in stansummary.o
vtable for boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> in stansummary.o
vtable for boost::program_options::invalid_option_value in stansummary.o
...
"boost::program_options::error_with_option_name::what() const", referenced from:
vtable for boost::exception_detail::error_info_injector<boost::program_options::validation_error> in stansummary.o
vtable for boost::program_options::validation_error in stansummary.o
vtable for boost::wrapexcept<boost::program_options::validation_error> in stansummary.o
construction vtable for boost::exception_detail::clone_impl<boost::wrapexcept<boost::program_options::validation_error>::error_info_injector<boost::program_options::validation_error> >-in-boost::wrapexcept<boost::program_options::validation_error> in stansummary.o
vtable for boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::program_options::validation_error> > in stansummary.o
vtable for boost::exception_detail::error_info_injector<boost::program_options::invalid_option_value> in stansummary.o
vtable for boost::program_options::invalid_option_value in stansummary.o
...
"boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) const", referenced from:
vtable for boost::program_options::typed_value<int, char> in stansummary.o
vtable for boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char> in stansummary.o
vtable for boost::program_options::typed_value<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char> in stansummary.o
"typeinfo for boost::program_options::error_with_option_name", referenced from:
typeinfo for boost::program_options::validation_error in stansummary.o
"typeinfo for boost::program_options::value_semantic_codecvt_helper<char>", referenced from:
typeinfo for boost::program_options::typed_value<int, char> in stansummary.o
typeinfo for boost::program_options::typed_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char> in stansummary.o
typeinfo for boost::program_options::typed_value<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, char> in stansummary.o
"vtable for boost::program_options::variables_map", referenced from:
_main in stansummary.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for boost::program_options::error_with_option_name", referenced from:
void boost::program_options::validate<int, char>(boost::any&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, int*, long) in stansummary.o
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const& boost::program_options::validators::get_single_string<char>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > const&, bool) in stansummary.o
boost::program_options::invalid_option_value::~invalid_option_value() in stansummary.o
boost::program_options::validation_error::~validation_error() in stansummary.o
boost::program_options::error_with_option_name::error_with_option_name(boost::program_options::error_with_option_name const&) in stansummary.o
boost::program_options::validation_error::~validation_error() in stansummary.o
boost::exception_detail::error_info_injector<boost::program_options::validation_error>::error_info_injector(boost::exception_detail::error_info_injector<boost::program_options::validation_error> const&) in stansummary.o
...
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [bin/stansummary] Error 1
Thanks for any help you can give!