cmdstanpy
cmdstanpy copied to clipboard
Stan Model not compiling with external c++
Summary:
Attempting a minimal example of compiling against external c++ code from this example
Description:
Using a Stan model of
functions {
real make_odds(real theta);
}
data {
int<lower=0> N;
array[N] int<lower=0, upper=1> y;
}
parameters {
real<lower=0, upper=1> theta;
}
model {
theta ~ beta(1, 1); // uniform prior on interval 0, 1
y ~ bernoulli(theta);
}
generated quantities {
real odds;
odds = make_odds(theta);
}
and an external bernoulli.hpp:
#include <boost/math/tools/promotion.hpp>
#include <ostream>
namespace bernoulli_model_namespace {
template <typename T0__> inline typename
boost::math::tools::promote_args<T0__>::type
make_odds(const T0__& theta, std::ostream* pstream__) {
return theta / (1 - theta);
}
}
I get a
15:22:19 - cmdstanpy - INFO - compiling stan file .../bernoulli_external.stan to exe file .../bernoulli_external
15:22:22 - cmdstanpy - WARNING - CmdStan's precompiled header (PCH) files may need to be rebuilt.If your model failed to compile please run cmdstanpy.rebuild_cmdstan().
If the issue persists please open a bug report
(where I replaced the actual directory structure on my computer with ...).
I ran cmdstanpy.rebuild_cmdstan() and the issue persists.
Additional Information:
None
Current Version:
Output of cmdstanpy.show_versions():
INSTALLED VERSIONS
python: 3.7.7 (default, Aug 20 2020, 14:13:25) [Clang 12.0.0 (clang-1200.0.31.1)] python-bits: 64 OS: Darwin OS-release: 21.6.0 machine: x86_64 processor: i386 byteorder: little LC_ALL: None LANG: en_US.UTF-8 LOCALE: ('en_US', 'UTF-8') cmdstan_folder: /Users/danmarthaler/.cmdstan/cmdstan-2.30.1 cmdstan: (2, 30) cmdstanpy: 1.0.4 pandas: 1.3.5 xarray: 0.20.2 tdqm: None numpy: 1.21.6 ujson: 3.1.0 at least the cmdstan and cmdstanpy versions used.
Can you enable debug logging (https://mc-stan.org/cmdstanpy/users-guide/outputs.html#logging) and post the output that yields?
@WardBrian here you go
15:59:29 - cmdstanpy - INFO - compiling stan file /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.stan to exe file /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
15:59:29 - cmdstanpy - DEBUG - cmd: make STANCFLAGS+=--allow-undefined USER_HEADER=/Users/danmarthaler/marthaler/holidays/new_model/external_example/make_odds.hpp /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
cwd: /Users/danmarthaler/.cmdstan/cmdstan-2.30.1
15:59:29 - cmdstanpy - DEBUG - Console output:
cc -Wl,-L,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.o stan/src/stan/model/model_header.hpp.gch -Wl,-L,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -o /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
error: invalid value 'precompiled-header' in '-x precompiled-header'
make: *** [/Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external] Error 1
Command ['make', 'STANCFLAGS+=--allow-undefined', 'USER_HEADER=/Users/danmarthaler/marthaler/holidays/new_model/external_example/make_odds.hpp', '/Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external']
error during processing No such file or directory
15:59:29 - cmdstanpy - WARNING - CmdStan's precompiled header (PCH) files may need to be rebuilt.If your model failed to compile please run cmdstanpy.rebuild_cmdstan().
If the issue persists please open a bug report
It appears that the compiler is not finding the make_odds.hpp file? Is it not supposed to reside in the same directory as the stan file?
error: invalid value 'precompiled-header' in '-x precompiled-header'
This is not an error I've ever seen before. Could you try running os.environ['PRECOMPILED_HEADERS'] = 'false' and trying again with the debug logging?
Hey @WardBrian I am on PTO this week, but will report back early next!
Okay I am back. Here is the all.log with os.environ['PRECOMPILED_HEADERS'] = 'false':
09:18:54 - cmdstanpy - INFO - compiling stan file /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.stan to exe file /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
09:18:54 - cmdstanpy - DEBUG - cmd: make STANCFLAGS+=--allow-undefined USER_HEADER=/Users/danmarthaler/marthaler/holidays/new_model/external_example/make_odds.hpp /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
cwd: /Users/danmarthaler/.cmdstan/cmdstan-2.30.1
09:19:07 - cmdstanpy - DEBUG - Console output:
--- Translating Stan model to C++ code ---
bin/stanc --allow-undefined --o=/Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.hpp /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.stan
--- Compiling, linking C++ code ---
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_2020.3/include -O3 -I src -I stan/src -I lib/rapidjson_1.1.0/ -I lib/CLI11-1.9.1/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.9 -I stan/lib/stan_math/lib/boost_1.78.0 -I stan/lib/stan_math/lib/sundials_6.1.1/include -I stan/lib/stan_math/lib/sundials_6.1.1/src/sundials -DBOOST_DISABLE_ASSERTS -c -include /Users/danmarthaler/marthaler/holidays/new_model/external_example/make_odds.hpp -x c++ -o /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.o /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.hpp
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_2020.3/include -O3 -I src -I stan/src -I lib/rapidjson_1.1.0/ -I lib/CLI11-1.9.1/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.9 -I stan/lib/stan_math/lib/boost_1.78.0 -I stan/lib/stan_math/lib/sundials_6.1.1/include -I stan/lib/stan_math/lib/sundials_6.1.1/src/sundials -DBOOST_DISABLE_ASSERTS -Wl,-L,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external.o src/cmdstan/main.o -Wl,-L,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/danmarthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_nvecserial.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_cvodes.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_idas.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_kinsol.a stan/lib/stan_math/lib/tbb/libtbb.dylib stan/lib/stan_math/lib/tbb/libtbbmalloc.dylib stan/lib/stan_math/lib/tbb/libtbbmalloc_proxy.dylib -o /Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external
Undefined symbols for architecture x86_64:
"boost::math::tools::promote_args<double, float, float, float, float, float>::type bernoulli_external_model_namespace::make_odds<double, (void*)0>(double const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
void bernoulli_external_model_namespace::bernoulli_external_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::__1::vector<int, std::__1::allocator<int> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, std::__1::vector<int, std::__1::allocator<int> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in bernoulli_external.o
void bernoulli_external_model_namespace::bernoulli_external_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, std::__1::vector<double, std::__1::allocator<double> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<double, std::__1::allocator<double> >&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in bernoulli_external.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external] Error 1
Command ['make', 'STANCFLAGS+=--allow-undefined', 'USER_HEADER=/Users/danmarthaler/marthaler/holidays/new_model/external_example/make_odds.hpp', '/Users/danmarthaler/marthaler/holidays/new_model/external_example/bernoulli_external']
error during processing No such file or directory
Huh, that's a new one for me. Can you try changing the hpp file to use stan::promote_args_t<T0__> instead of typename boost::math::tools::promote_args as the return type? I'm not sure why this would make a difference, but I know that that Stan has switched to using that more
@WardBrian Unfortunately my computer died this morning. I am getting a replacement, but that will be a macbook pro M1 chip, so I may not be able to reproduce this issue. I will run the example when I get my new machine and report back.
Okay I think the same error is plaguing me on my new Apple M1.
What I have done:
external_bernoulli.stan:
functions {
real make_odds(real theta);
}
data {
int<lower=0> N;
array[N] int<lower=0, upper=1> y;
}
parameters {
real<lower=0, upper=1> theta;
}
model {
theta ~ beta(1, 1); // uniform prior on interval 0, 1
y ~ bernoulli(theta);
}
generated quantities {
real odds;
odds = make_odds(theta);
}
make_odds.hpp:
#include <stan/model/model_header.hpp>
#include <ostream>
namespace bernoulli_model_namespace {
template <typename T0__,
stan::require_all_t<stan::is_stan_scalar<T0__>>* = nullptr>
stan::promote_args_t<T0__>
make_odds(const T0__& theta, std::ostream* pstream__) {
return theta / (1. - theta);
}
}
Then I run
model_external = CmdStanModel(
stan_file='external_bernoulli.stan',
user_header='make_odds.hpp',
)
and get
15:26:11 - cmdstanpy - INFO - compiling stan file /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.stan to exe file /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
15:26:11 - cmdstanpy - DEBUG - cmd: make STANCFLAGS+=--allow-undefined USER_HEADER=/Users/daniel.marthaler/dev/marthaler/holidays/external_function/make_odds.hpp /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
cwd: /Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1
15:26:13 - cmdstanpy - DEBUG - Console output:
--- Translating Stan model to C++ code ---
bin/stanc --allow-undefined --o=/Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.hpp /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.stan
--- Compiling, linking C++ code ---
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_2020.3/include -O3 -I src -I stan/src -I lib/rapidjson_1.1.0/ -I lib/CLI11-1.9.1/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.9 -I stan/lib/stan_math/lib/boost_1.78.0 -I stan/lib/stan_math/lib/sundials_6.1.1/include -I stan/lib/stan_math/lib/sundials_6.1.1/src/sundials -DBOOST_DISABLE_ASSERTS -c -include-pch stan/src/stan/model/model_header.hpp.gch -include /Users/daniel.marthaler/dev/marthaler/holidays/external_function/make_odds.hpp -x c++ -o /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.o /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.hpp
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_2020.3/include -O3 -I src -I stan/src -I lib/rapidjson_1.1.0/ -I lib/CLI11-1.9.1/ -I stan/lib/stan_math/ -I stan/lib/stan_math/lib/eigen_3.3.9 -I stan/lib/stan_math/lib/boost_1.78.0 -I stan/lib/stan_math/lib/sundials_6.1.1/include -I stan/lib/stan_math/lib/sundials_6.1.1/src/sundials -DBOOST_DISABLE_ASSERTS -Wl,-L,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.o src/cmdstan/main.o -Wl,-L,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_nvecserial.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_cvodes.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_idas.a stan/lib/stan_math/lib/sundials_6.1.1/lib/libsundials_kinsol.a stan/lib/stan_math/lib/tbb/libtbb.dylib stan/lib/stan_math/lib/tbb/libtbbmalloc.dylib stan/lib/stan_math/lib/tbb/libtbbmalloc_proxy.dylib -o /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
Undefined symbols for architecture arm64:
"boost::math::tools::promote_args<double, float, float, float, float, float>::type external_bernoulli_model_namespace::make_odds<double, (void*)0>(double const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
void external_bernoulli_model_namespace::external_bernoulli_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::__1::vector<int, std::__1::allocator<int> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, std::__1::vector<int, std::__1::allocator<int> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
void external_bernoulli_model_namespace::external_bernoulli_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, std::__1::vector<double, std::__1::allocator<double> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<double, std::__1::allocator<double> >&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli] Error 1
Command ['make', 'STANCFLAGS+=--allow-undefined', 'USER_HEADER=/Users/daniel.marthaler/dev/marthaler/holidays/external_function/make_odds.hpp', '/Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli']
error during processing No such file or directory
15:26:13 - cmdstanpy - WARNING - CmdStan's precompiled header (PCH) files may need to be rebuilt.If your model failed to compile please run cmdstanpy.rebuild_cmdstan().
If the issue persists please open a bug report
Now if I set os.environ['PRECOMPILED_HEADERS'] = 'false' and run I get:
15:27:29 - cmdstanpy - INFO - compiling stan file /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.stan to exe file /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
15:27:29 - cmdstanpy - DEBUG - cmd: make STANCFLAGS+=--allow-undefined USER_HEADER=/Users/daniel.marthaler/dev/marthaler/holidays/external_function/make_odds.hpp /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
cwd: /Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1
15:27:29 - cmdstanpy - DEBUG - Console output:
cc -Wl,-L,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli.o -Wl,-L,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -Wl,-rpath,"/Users/daniel.marthaler/.cmdstan/cmdstan-2.30.1/stan/lib/stan_math/lib/tbb" -o /Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli
Undefined symbols for architecture arm64:
"boost::math::tools::promote_args<double, float, float, float, float, float>::type external_bernoulli_model_namespace::make_odds<double, (void*)0>(double const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
void external_bernoulli_model_namespace::external_bernoulli_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, std::__1::vector<int, std::__1::allocator<int> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, std::__1::vector<int, std::__1::allocator<int> >&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
void external_bernoulli_model_namespace::external_bernoulli_model::write_array_impl<boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >, std::__1::vector<double, std::__1::allocator<double> >, std::__1::vector<int, std::__1::allocator<int> >, std::__1::vector<double, std::__1::allocator<double> >, (void*)0, (void*)0, (void*)0>(boost::random::additive_combine_engine<boost::random::linear_congruential_engine<unsigned int, 40014u, 0u, 2147483563u>, boost::random::linear_congruential_engine<unsigned int, 40692u, 0u, 2147483399u> >&, std::__1::vector<double, std::__1::allocator<double> >&, std::__1::vector<int, std::__1::allocator<int> >&, std::__1::vector<double, std::__1::allocator<double> >&, bool, bool, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
"tbb::internal::task_scheduler_observer_v3::observe(bool)", referenced from:
stan::math::ad_tape_observer::ad_tape_observer() in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
tbb::internal::task_scheduler_observer_v3::~task_scheduler_observer_v3() in external_bernoulli.o
tbb::internal::task_scheduler_observer_v3::~task_scheduler_observer_v3() in external_bernoulli.o
tbb::internal::task_scheduler_observer_v3::~task_scheduler_observer_v3() in external_bernoulli.o
...
"std::logic_error::what() const", referenced from:
vtable for boost::wrapexcept<std::logic_error> in external_bernoulli.o
"std::runtime_error::what() const", referenced from:
vtable for boost::wrapexcept<std::overflow_error> in external_bernoulli.o
"std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
...
"std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
std::__1::__vector_base<char*, std::__1::allocator<char*> >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<unsigned long, std::__1::allocator<unsigned long> >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<int, std::__1::allocator<int> >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<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> > > >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<double, std::__1::allocator<double> >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<stan::math::vari_base*, std::__1::allocator<stan::math::vari_base*> >::__throw_length_error() const in external_bernoulli.o
std::__1::__vector_base<stan::math::var_value<double, void>, stan::math::arena_allocator<stan::math::var_value<double, void> > >::__throw_length_error() const in external_bernoulli.o
...
"std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in external_bernoulli.o
"std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::ios_base::getloc() const", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::bad_typeid::bad_typeid()", referenced from:
stan::lang::located_exception<std::bad_typeid>::located_exception(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&) in external_bernoulli.o
"std::bad_typeid::~bad_typeid()", referenced from:
stan::lang::located_exception<std::bad_typeid>::~located_exception() in external_bernoulli.o
stan::lang::located_exception<std::bad_typeid>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_typeid>::~located_exception() in external_bernoulli.o
"std::logic_error::logic_error(char const*)", referenced from:
long double boost::math::detail::owens_t_dispatch<long double, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >(long double, long double, long double, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> const&, std::__1::integral_constant<int, 64> const&) in external_bernoulli.o
"std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"std::logic_error::logic_error(char const*)", referenced from:
std::length_error::length_error(char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
"std::logic_error::logic_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
"std::logic_error::logic_error(std::logic_error const&)", referenced from:
boost::wrapexcept<std::logic_error>::wrapexcept(std::logic_error const&) in external_bernoulli.o
boost::wrapexcept<std::logic_error>::clone() const in external_bernoulli.o
boost::wrapexcept<std::logic_error>::wrapexcept(boost::wrapexcept<std::logic_error> const&) in external_bernoulli.o
"std::logic_error::~logic_error()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
long double boost::math::detail::owens_t_dispatch<long double, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >(long double, long double, long double, boost::math::policies::policy<boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> const&, std::__1::integral_constant<int, 64> const&) in external_bernoulli.o
"std::logic_error::~logic_error()", referenced from:
boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
boost::wrapexcept<std::logic_error>::clone() const in external_bernoulli.o
boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::logic_error>::~wrapexcept() in external_bernoulli.o
...
"std::range_error::~range_error()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"std::domain_error::~domain_error()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
"std::length_error::~length_error()", referenced from:
std::__1::__throw_length_error(char const*) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"std::out_of_range::~out_of_range()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"std::bad_exception::~bad_exception()", referenced from:
stan::lang::located_exception<std::bad_exception>::~located_exception() in external_bernoulli.o
stan::lang::located_exception<std::bad_exception>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_exception>::~located_exception() in external_bernoulli.o
"std::runtime_error::runtime_error(char const*)", referenced from:
stan::io::deserializer<double>::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
stan::io::deserializer<stan::math::var_value<double, void> >::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
"std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
auto stan::io::serializer<double>::check_r_capacity(unsigned long) const::'lambda'(auto, auto, auto)::operator()<unsigned long, unsigned long, unsigned long>(auto, auto, auto) const in external_bernoulli.o
"std::runtime_error::runtime_error(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, long double>(char const*, char const*) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, double>(char const*, char const*) in external_bernoulli.o
"std::runtime_error::runtime_error(std::runtime_error const&)", referenced from:
boost::wrapexcept<std::overflow_error>::wrapexcept(std::overflow_error const&) in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::clone() const in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::wrapexcept(boost::wrapexcept<std::overflow_error> const&) in external_bernoulli.o
"std::runtime_error::~runtime_error()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::io::deserializer<double>::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
stan::io::deserializer<stan::math::var_value<double, void> >::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
auto stan::io::serializer<double>::check_r_capacity(unsigned long) const::'lambda'(auto, auto, auto)::operator()<unsigned long, unsigned long, unsigned long>(auto, auto, auto) const in external_bernoulli.o
"std::overflow_error::~overflow_error()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, long double>(char const*, char const*) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, double>(char const*, char const*) in external_bernoulli.o
"std::overflow_error::~overflow_error()", referenced from:
boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::clone() const in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
non-virtual thunk to boost::wrapexcept<std::overflow_error>::~wrapexcept() in external_bernoulli.o
...
"std::underflow_error::~underflow_error()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"std::invalid_argument::~invalid_argument()", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
"std::__1::__next_prime(unsigned long)", referenced from:
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)", referenced from:
external_bernoulli_model_namespace::external_bernoulli_model::constrained_param_names(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> > > >&, bool, bool) const in external_bernoulli.o
external_bernoulli_model_namespace::external_bernoulli_model::unconstrained_param_names(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> > > >&, bool, bool) const in external_bernoulli.o
stan::lang::located_exception<std::bad_alloc>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_cast>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_exception>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_typeid>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::exception>::located_exception(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&) in external_bernoulli.o
...
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from:
stan::lang::located_exception<std::bad_alloc>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_cast>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_exception>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_typeid>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::exception>::located_exception(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&) in external_bernoulli.o
auto stan::io::serializer<double>::check_r_capacity(unsigned long) const::'lambda'(auto, auto, auto)::operator()<unsigned long, unsigned long, unsigned long>(auto, auto, auto) const in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, long double>(char const*, char const*) in external_bernoulli.o
...
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::insert(unsigned long, char const*)", referenced from:
auto void stan::math::check_greater_or_equal<int, int, (void*)0>(char const*, char const*, int const&, int const&)::'lambda'(int, int, auto, auto, auto...)::operator()<int, int, char const*, char const*>(int, int, auto, auto, auto...) const in external_bernoulli.o
std::__1::vector<int, std::__1::allocator<int> >& void stan::math::check_greater_or_equal<std::__1::vector<int, std::__1::allocator<int> >, int, (void*)0, (void*)0, (void*)0>(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto)::operator()<Eigen::CwiseUnaryOp<std::__1::vector<int, std::__1::allocator<int> >& auto stan::math::value_of_rec<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> >, void, void>(std::__1::vector<int, std::__1::allocator<int> >&&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&)::operator()<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > >('lambda'(std::__1::vector<int, std::__1::allocator<int> >&)) const::'lambda'(std::__1::vector<int, std::__1::allocator<int> >), Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > const>&, int, char const*, char const*, long>(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto) const in external_bernoulli.o
std::__1::vector<int, std::__1::allocator<int> >& void stan::math::check_less_or_equal<std::__1::vector<int, std::__1::allocator<int> >, int, (void*)0, (void*)0, (void*)0>(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto)::operator()<Eigen::CwiseUnaryOp<std::__1::vector<int, std::__1::allocator<int> >& auto stan::math::value_of_rec<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> >, void, void>(std::__1::vector<int, std::__1::allocator<int> >&&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&)::operator()<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > >('lambda'(std::__1::vector<int, std::__1::allocator<int> >&)) const::'lambda'(std::__1::vector<int, std::__1::allocator<int> >), Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > const>&, int, char const*, char const*, long>(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto) const in external_bernoulli.o
auto void stan::math::check_less<int, int, (void*)0>(char const*, char const*, int const&, int const&)::'lambda'(int, int, auto, auto, auto...)::operator()<int, int, char const*, char const*>(int, int, auto, auto, auto...) const in external_bernoulli.o
auto void stan::math::check_less_or_equal<double, int, (void*)0>(char const*, char const*, double const&, int const&)::'lambda'(double, int, auto, auto, auto...)::operator()<double, int, char const*, char const*>(double, int, auto, auto, auto...) const in external_bernoulli.o
auto void stan::math::check_greater_or_equal<double, double, (void*)0>(char const*, char const*, double const&, double const&)::'lambda'(double, double, auto, auto, auto...)::operator()<double, double, char const*, char const*>(double, double, auto, auto, auto...) const in external_bernoulli.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::replace(unsigned long, unsigned long, char const*)", referenced from:
boost::math::policies::detail::replace_all_in_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, char const*, char const*) in external_bernoulli.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
external_bernoulli_model_namespace::external_bernoulli_model::model_compile_info() const in external_bernoulli.o
external_bernoulli_model_namespace::external_bernoulli_model::get_param_names(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 external_bernoulli.o
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~basic_string()", referenced from:
__GLOBAL__sub_I_external_bernoulli.hpp in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::put(char)", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::~basic_ostream()", referenced from:
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(double)", referenced from:
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
stan::math::internal::bounded<double, double, double, false>::check(char const*, char const*, double const&, double const&, double const&) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
stan::math::internal::bounded<double, int, int, false>::check(char const*, char const*, double const&, int const&, int const&) in external_bernoulli.o
stan::math::internal::bounded<std::__1::vector<int, std::__1::allocator<int> >, int, int, true>::check(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&, int const&) in external_bernoulli.o
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long)", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
"std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
stan::math::internal::bounded<double, int, int, false>::check(char const*, char const*, double const&, int const&, int const&) in external_bernoulli.o
stan::math::internal::bounded<std::__1::vector<int, std::__1::allocator<int> >, int, int, true>::check(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&, int const&) in external_bernoulli.o
...
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~basic_streambuf()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
...
"std::__1::ctype<char>::id", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::mutex::lock()", referenced from:
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_exit(bool) in external_bernoulli.o
"std::__1::mutex::unlock()", referenced from:
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_exit(bool) in external_bernoulli.o
"std::__1::mutex::~mutex()", referenced from:
stan::math::ad_tape_observer::ad_tape_observer() in external_bernoulli.o
stan::math::ad_tape_observer::~ad_tape_observer() in external_bernoulli.o
"std::__1::locale::~locale()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::ios_base::init(void*)", referenced from:
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
"std::__1::ios_base::clear(unsigned int)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
"std::__1::basic_ios<char, std::__1::char_traits<char> >::~basic_ios()", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
...
"std::__1::to_string(double)", referenced from:
auto void stan::math::check_greater_or_equal<int, int, (void*)0>(char const*, char const*, int const&, int const&)::'lambda'(int, int, auto, auto, auto...)::operator()<int, int, char const*, char const*>(int, int, auto, auto, auto...) const in external_bernoulli.o
std::__1::vector<int, std::__1::allocator<int> >& void stan::math::check_greater_or_equal<std::__1::vector<int, std::__1::allocator<int> >, int, (void*)0, (void*)0, (void*)0>(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto)::operator()<Eigen::CwiseUnaryOp<std::__1::vector<int, std::__1::allocator<int> >& auto stan::math::value_of_rec<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> >, void, void>(std::__1::vector<int, std::__1::allocator<int> >&&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&)::operator()<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > >('lambda'(std::__1::vector<int, std::__1::allocator<int> >&)) const::'lambda'(std::__1::vector<int, std::__1::allocator<int> >), Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > const>&, int, char const*, char const*, long>(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto) const in external_bernoulli.o
std::__1::vector<int, std::__1::allocator<int> >& void stan::math::check_less_or_equal<std::__1::vector<int, std::__1::allocator<int> >, int, (void*)0, (void*)0, (void*)0>(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto)::operator()<Eigen::CwiseUnaryOp<std::__1::vector<int, std::__1::allocator<int> >& auto stan::math::value_of_rec<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> >, void, void>(std::__1::vector<int, std::__1::allocator<int> >&&)::'lambda'(std::__1::vector<int, std::__1::allocator<int> >&)::operator()<Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > >('lambda'(std::__1::vector<int, std::__1::allocator<int> >&)) const::'lambda'(std::__1::vector<int, std::__1::allocator<int> >), Eigen::Map<Eigen::Array<int, -1, 1, 0, -1, 1> const, 0, Eigen::Stride<0, 0> > const>&, int, char const*, char const*, long>(std::__1::vector<int, std::__1::allocator<int> >&&, int, auto, auto, auto) const in external_bernoulli.o
auto void stan::math::check_less<int, int, (void*)0>(char const*, char const*, int const&, int const&)::'lambda'(int, int, auto, auto, auto...)::operator()<int, int, char const*, char const*>(int, int, auto, auto, auto...) const in external_bernoulli.o
auto void stan::math::check_less_or_equal<double, int, (void*)0>(char const*, char const*, double const&, int const&)::'lambda'(double, int, auto, auto, auto...)::operator()<double, int, char const*, char const*>(double, int, auto, auto, auto...) const in external_bernoulli.o
auto void stan::math::check_greater_or_equal<double, double, (void*)0>(char const*, char const*, double const&, double const&)::'lambda'(double, double, auto, auto, auto...)::operator()<double, double, char const*, char const*>(double, double, auto, auto, auto...) const in external_bernoulli.o
"std::__1::to_string(unsigned long)", referenced from:
auto stan::io::serializer<double>::check_r_capacity(unsigned long) const::'lambda'(auto, auto, auto)::operator()<unsigned long, unsigned long, unsigned long>(auto, auto, auto) const in external_bernoulli.o
"std::bad_cast::bad_cast()", referenced from:
stan::lang::located_exception<std::bad_cast>::located_exception(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&) in external_bernoulli.o
"std::bad_cast::~bad_cast()", referenced from:
stan::lang::located_exception<std::bad_cast>::~located_exception() in external_bernoulli.o
stan::lang::located_exception<std::bad_cast>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_cast>::~located_exception() in external_bernoulli.o
"std::bad_alloc::bad_alloc()", referenced from:
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
stan::math::stack_alloc::move_to_next_block(unsigned long) in external_bernoulli.o
Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::resize(long, long) in external_bernoulli.o
"std::bad_alloc::bad_alloc()", referenced from:
stan::lang::located_exception<std::bad_alloc>::located_exception(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&) in external_bernoulli.o
"std::bad_alloc::~bad_alloc()", referenced from:
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
stan::math::stack_alloc::move_to_next_block(unsigned long) in external_bernoulli.o
Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::resize(long, long) in external_bernoulli.o
"std::bad_alloc::~bad_alloc()", referenced from:
stan::lang::located_exception<std::bad_alloc>::~located_exception() in external_bernoulli.o
stan::lang::located_exception<std::bad_alloc>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_alloc>::~located_exception() in external_bernoulli.o
"std::exception::~exception()", referenced from:
stan::lang::located_exception<std::exception>::~located_exception() in external_bernoulli.o
stan::lang::located_exception<std::exception>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::exception>::~located_exception() in external_bernoulli.o
"std::terminate()", referenced from:
___clang_call_terminate in external_bernoulli.o
"typeinfo for std::bad_typeid", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_typeid> in external_bernoulli.o
"typeinfo for std::logic_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
typeinfo for boost::wrapexcept<std::logic_error> in external_bernoulli.o
"typeinfo for std::range_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"typeinfo for std::domain_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
"typeinfo for std::length_error", referenced from:
std::__1::__throw_length_error(char const*) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"typeinfo for std::out_of_range", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"typeinfo for std::bad_exception", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_exception> in external_bernoulli.o
"typeinfo for std::runtime_error", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::io::deserializer<double>::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
stan::io::deserializer<stan::math::var_value<double, void> >::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
auto stan::io::serializer<double>::check_r_capacity(unsigned long) const::'lambda'(auto, auto, auto)::operator()<unsigned long, unsigned long, unsigned long>(auto, auto, auto) const in external_bernoulli.o
"typeinfo for std::overflow_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
typeinfo for boost::wrapexcept<std::overflow_error> in external_bernoulli.o
"typeinfo for std::underflow_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"typeinfo for std::invalid_argument", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
"typeinfo for std::bad_cast", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_cast> in external_bernoulli.o
"typeinfo for std::bad_alloc", referenced from:
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::stack_alloc::move_to_next_block(unsigned long) in external_bernoulli.o
Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::resize(long, long) in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_alloc> in external_bernoulli.o
"typeinfo for std::exception", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
GCC_except_table56 in external_bernoulli.o
GCC_except_table118 in external_bernoulli.o
GCC_except_table132 in external_bernoulli.o
GCC_except_table150 in external_bernoulli.o
GCC_except_table152 in external_bernoulli.o
GCC_except_table156 in external_bernoulli.o
...
"VTT for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
stan::math::internal::bounded<double, int, int, false>::check(char const*, char const*, double const&, int const&, int const&) in external_bernoulli.o
stan::math::internal::bounded<std::__1::vector<int, std::__1::allocator<int> >, int, int, true>::check(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, int const&, int const&) in external_bernoulli.o
...
"VTT for std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
"vtable for __cxxabiv1::__class_type_info", referenced from:
typeinfo for tbb::internal::task_scheduler_observer_v3 in external_bernoulli.o
typeinfo for stan::model::prob_grad in external_bernoulli.o
typeinfo for stan::math::vari_base in external_bernoulli.o
typeinfo for boost::exception_detail::clone_base in external_bernoulli.o
typeinfo for boost::exception in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for __cxxabiv1::__si_class_type_info", referenced from:
typeinfo for tbb::interface6::task_scheduler_observer in external_bernoulli.o
typeinfo for stan::math::ad_tape_observer in external_bernoulli.o
typeinfo for stan::model::model_base in external_bernoulli.o
typeinfo for stan::model::model_base_crtp<external_bernoulli_model_namespace::external_bernoulli_model> in external_bernoulli.o
typeinfo for external_bernoulli_model_namespace::external_bernoulli_model in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_alloc> in external_bernoulli.o
typeinfo for stan::lang::located_exception<std::bad_cast> in external_bernoulli.o
...
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for __cxxabiv1::__vmi_class_type_info", referenced from:
typeinfo for boost::wrapexcept<std::overflow_error> in external_bernoulli.o
typeinfo for boost::wrapexcept<std::logic_error> in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
...
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_stringstream() in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
__ZN4stan4math22throw_domain_error_vecIN5Eigen12CwiseUnaryOpIZZNS0_12value_of_recINS2_3MapIKNS2_5ArrayIiLin1ELi1ELi0ELin1ELi1EEELi0ENS2_6StrideILi0ELi0EEEEEvvEEDaOT_ENKUlRSD_E_clISB_EESC_SF_EUlSD_E_KSB_EEEEvPKcSM_RKSD_mSM_SM_ in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error_vec<std::__1::vector<int, std::__1::allocator<int> > >(char const*, char const*, std::__1::vector<int, std::__1::allocator<int> > const&, unsigned long, char const*, char const*) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::range_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::domain_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
void stan::math::internal::elementwise_throw_domain_error<char const*, char const*, char const*, char const*, int, char const*, char const*, char const*>(char const* const, char const* const, char const* const, char const* const, int const, char const* const, char const* const, char const* const) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::length_error", referenced from:
std::length_error::length_error(char const*) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::out_of_range", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::overflow_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, long double>(char const*, char const*) in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::clone() const in external_bernoulli.o
boost::wrapexcept<std::overflow_error>::wrapexcept(boost::wrapexcept<std::overflow_error> const&) in external_bernoulli.o
void boost::math::policies::detail::raise_error<std::overflow_error, double>(char const*, char const*) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::underflow_error", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::invalid_argument", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"operator delete(void*)", referenced from:
new_model(stan::io::var_context&, unsigned int, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in external_bernoulli.o
stan::math::ad_tape_observer::ad_tape_observer() in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
std::__1::unordered_map<std::__1::__thread_id, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > >, std::__1::hash<std::__1::__thread_id>, std::__1::equal_to<std::__1::__thread_id>, std::__1::allocator<std::__1::pair<std::__1::__thread_id const, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > > > > >::~unordered_map() in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_exit(bool) in external_bernoulli.o
stan::math::ad_tape_observer::~ad_tape_observer() in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
...
"operator new(unsigned long)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<std::nullptr_t>(char const*) in external_bernoulli.o
new_model(stan::io::var_context&, unsigned int, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
std::__1::__hash_table<std::__1::__hash_value_type<std::__1::__thread_id, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > > >, std::__1::__unordered_map_hasher<std::__1::__thread_id, std::__1::__hash_value_type<std::__1::__thread_id, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > > >, std::__1::hash<std::__1::__thread_id>, std::__1::equal_to<std::__1::__thread_id>, true>, std::__1::__unordered_map_equal<std::__1::__thread_id, std::__1::__hash_value_type<std::__1::__thread_id, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > > >, std::__1::equal_to<std::__1::__thread_id>, std::__1::hash<std::__1::__thread_id>, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::__thread_id, std::__1::unique_ptr<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>, std::__1::default_delete<stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc> > > > > >::__rehash(unsigned long) in external_bernoulli.o
stan::math::AutodiffStackSingleton<stan::math::vari_base, stan::math::chainable_alloc>::init() in external_bernoulli.o
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> > std::__1::__pad_and_output<char, std::__1::char_traits<char> >(std::__1::ostreambuf_iterator<char, std::__1::char_traits<char> >, char const*, char const*, char const*, std::__1::ios_base&, char) in external_bernoulli.o
...
"___cxa_allocate_exception", referenced from:
std::__1::__throw_length_error(char const*) in external_bernoulli.o
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
...
"___cxa_bad_cast", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"___cxa_begin_catch", referenced from:
___clang_call_terminate in external_bernoulli.o
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
external_bernoulli_model_namespace::external_bernoulli_model::external_bernoulli_model(stan::io::var_context&, unsigned int, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<double, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, false, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<double, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, false, Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<double, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, true, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<double, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
...
"___cxa_call_unexpected", referenced from:
stan::lang::located_exception<std::bad_alloc>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_cast>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_exception>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::bad_typeid>::located_exception(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&) in external_bernoulli.o
stan::lang::located_exception<std::exception>::located_exception(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&) in external_bernoulli.o
"___cxa_end_catch", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in external_bernoulli.o
external_bernoulli_model_namespace::external_bernoulli_model::external_bernoulli_model(stan::io::var_context&, unsigned int, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<double, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, false, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<double, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, false, Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<double, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, true, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<double, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
stan::scalar_type<Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, void>::type external_bernoulli_model_namespace::external_bernoulli_model::log_prob_impl<false, true, Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>, Eigen::Matrix<int, -1, 1, 0, -1, 1>, (void*)0, (void*)0>(Eigen::Matrix<stan::math::var_value<double, void>, -1, 1, 0, -1, 1>&, Eigen::Matrix<int, -1, 1, 0, -1, 1>&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in external_bernoulli.o
...
"___cxa_free_exception", referenced from:
std::__1::__throw_length_error(char const*) in external_bernoulli.o
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
stan::io::deserializer<double>::check_r_capacity(unsigned long) const::'lambda'()::operator()() const in external_bernoulli.o
...
"___cxa_pure_virtual", referenced from:
vtable for boost::exception_detail::clone_base in external_bernoulli.o
vtable for boost::exception in external_bernoulli.o
"___cxa_throw", referenced from:
std::__1::__throw_length_error(char const*) in external_bernoulli.o
stan::math::stack_alloc::stack_alloc(unsigned long) in external_bernoulli.o
stan::math::internal::eight_byte_aligned_malloc(unsigned long) in external_bernoulli.o
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
void stan::math::throw_domain_error<int>(char const*, char const*, int const&, char const*, char const*) in external_bernoulli.o
stan::math::validate_non_negative_index(char const*, char const*, int)::'lambda'()::operator()() const in external_bernoulli.o
void stan::math::throw_domain_error<double>(char const*, char const*, double const&, char const*, char const*) in external_bernoulli.o
...
"___dynamic_cast", referenced from:
stan::lang::rethrow_located(std::exception const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in external_bernoulli.o
"___gxx_personality_v0", referenced from:
new_model(stan::io::var_context&, unsigned int, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in external_bernoulli.o
stan::math::ad_tape_observer::ad_tape_observer() in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_entry(bool) in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
stan::math::ad_tape_observer::on_scheduler_exit(bool) in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
tbb::interface6::task_scheduler_observer::~task_scheduler_observer() in external_bernoulli.o
...
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli] Error 1
Command ['make', 'STANCFLAGS+=--allow-undefined', 'USER_HEADER=/Users/daniel.marthaler/dev/marthaler/holidays/external_function/make_odds.hpp', '/Users/daniel.marthaler/dev/marthaler/holidays/external_function/external_bernoulli']
error during processing No such file or directory
I'm going to ping @rok-cesnovar on this. I believe he has an M1 Mac to mirror your example on
Okay. Do you want me to open a new issue?
I think it is fine to leave here for now, if we determine it belongs somewhere better like the CmdStan repo we can transfer it then.
Hi @mathDR - if you're still facing this issue, I just wanted to alert you to the fact that recent versions of Stan have changed how external C++ is handled in such a way that should have fixed this. The CmdStan documentation has been updated here: https://mc-stan.org/docs/cmdstan-guide/using-external-cpp-code.html
THANK YOU!!!