Hi, I tried to implement the predictor into caffe, but can't go through the compilation.
OS: OSX High Sierra 10.13.3 (17D47)
CPU-ONLY
Then I get the following quuuuite long error info. It seems like something wrong with Folly and GoogleTest?
[ 1%] Built target caffeproto
[ 3%] Linking CXX shared library ../../lib/libcaffe.dylib
Undefined symbols for architecture x86_64:
"folly::closeNoInt(int)", referenced from:
caffe::fb::PooledPredictorTest::getConfig(bool) in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_Performance_Test::TestBody() in PredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody() in PredictorTest.cpp.o
"folly::try_detail::throwUsingUninitializedTry()", referenced from:
folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::get() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
"folly::WaitOptions::Defaults::spin_max", referenced from:
void folly::futures::detail::waitImpl<folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >, std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >(folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&) in PooledPredictorTest.cpp.o
"folly::cold_detail::ColdClass::ColdClass()", referenced from:
std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>) in Optimize.cpp.o
folly::Expected<folly::Unit, folly::ConversionCode> folly::expected_detail::expected_detail_ExpectedHelper::ExpectedHelper::thenOrThrow_<folly::expected_detail::ExpectedStorage<folly::Range<char const*>, folly::ConversionCode, (folly::expected_detail::StorageType)1>&, folly::detail::CheckTrailingSpace, std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda'(folly::ConversionCode), folly::Expected<folly::Unit, folly::ConversionCode>, void, false, 0>(int&&, folly::detail::CheckTrailingSpace&&, std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda'(folly::ConversionCode)&&) in Optimize.cpp.o
"folly::throwNoState()", referenced from:
caffe::fb::PooledPredictor::enqueueJob(std::__1::function<void (caffe::Net<float>*)>&&, unsigned int) in PooledPredictor.cpp.o
std::__1::enable_if<std::is_same<folly::Unit, folly::Unit>::value, void>::type folly::Promise<folly::Unit>::setValue<folly::Unit>() in PooledPredictor.cpp.o
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::get() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
folly::Promise<folly::Unit>::setException(folly::exception_wrapper) in PooledPredictorTest.cpp.o
...
"folly::InlineExecutor::instance()", referenced from:
caffe::fb::PooledPredictor::enqueueJob(std::__1::function<void (caffe::Net<float>*)>&&, unsigned int) in PooledPredictor.cpp.o
folly::Future<std::__1::vector<folly::Try<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type>, std::__1::allocator<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type> > > folly::collectAll<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, std::__1::__wrap_iter<folly::Future<folly::Unit>*>) in PooledPredictorTest.cpp.o
"folly::RequestContext::setContext(std::__1::shared_ptr<folly::RequestContext>)", referenced from:
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda'()::operator()() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda0'()::operator()() in PooledPredictor.cpp.o
folly::RequestContextScopeGuard::~RequestContextScopeGuard() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda'()::operator()() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda0'()::operator()() in PooledPredictorTest.cpp.o
...
"folly::RequestContext::getStaticContext()", referenced from:
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0 const&) in PooledPredictorTest.cpp.o
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)::operator()(folly::Try<folly::Unit>&&)::'lambda'(folly::Try<folly::Unit>&&)>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0 const&) in PooledPredictorTest.cpp.o
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2 const&) in PooledPredictorTest.cpp.o
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)::operator()(folly::Try<folly::Unit>&&)::'lambda'(folly::Try<folly::Unit>&&)>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2 const&) in PooledPredictorTest.cpp.o
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<folly::Unit>::setCallback<void folly::mapSetCallback<folly::Unit, std::__1::__wrap_iter<folly::Future<folly::Unit>*>, folly::Future<std::__1::vector<folly::Try<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type>, std::__1::allocator<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type> > > folly::collectAll<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, std::__1::__wrap_iter<folly::Future<folly::Unit>*>)::'lambda'(unsigned long, folly::Try<folly::Unit>&&)>(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, folly::Future<std::__1::vector<folly::Try<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type>, std::__1::allocator<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type> > > folly::collectAll<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, std::__1::__wrap_iter<folly::Future<folly::Unit>*>)::'lambda'(unsigned long, folly::Try<folly::Unit>&&), folly::Future<std::__1::vector<folly::Try<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type>, std::__1::allocator<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type> > > folly::collectAll<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, std::__1::__wrap_iter<folly::Future<folly::Unit>*>)::'lambda'(unsigned long, folly::Try<folly::Unit>&&))::'lambda'(folly::Try<folly::Unit>)>(std::__1::__wrap_iter<folly::Future<folly::Unit>*>&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, std::__1::__wrap_iter<folly::Future<folly::Unit>*> const&) in PooledPredictorTest.cpp.o
bool folly::futures::detail::FSM<folly::futures::detail::State>::updateState<void folly::futures::detail::Core<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::setCallback<void folly::futures::detail::waitImpl<folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >, std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >(folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&)::'lambda'(folly::Try<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > > const&)>(folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&&)::'lambda'()>(folly::futures::detail::State, folly::futures::detail::State, folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > > const&) in PooledPredictorTest.cpp.o
"folly::expected_detail::throwBadExpectedAccess()", referenced from:
std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda0'(folly::ConversionCode)::operator()(folly::ConversionCode) const in Optimize.cpp.o
"folly::throwNoExecutor()", referenced from:
folly::SemiFuture<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::via(folly::Executor*, signed char) in PooledPredictorTest.cpp.o
"folly::exception_wrapper::ExceptionPtr::ops_", referenced from:
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictor.cpp.o
folly::exception_wrapper::InPlace<folly::BrokenPromise>::get_exception_ptr_(folly::exception_wrapper const*) in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::doCallback() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
folly::exception_wrapper::InPlace<folly::BrokenPromise>::get_exception_ptr_(folly::exception_wrapper const*) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
...
"folly::exception_wrapper::onNoExceptionError(char const*)", referenced from:
folly::exception_wrapper::throw_exception() const in PooledPredictorTest.cpp.o
"folly::exception_wrapper::uninit_", referenced from:
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictor.cpp.o
folly::Optional<folly::Try<folly::Unit> >::assign(folly::Try<folly::Unit>&&) in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::detachPromise() in PooledPredictor.cpp.o
folly::exception_wrapper::InPlace<folly::BrokenPromise>::move_(folly::exception_wrapper*, folly::exception_wrapper*) in PooledPredictor.cpp.o
folly::exception_wrapper::InPlace<folly::BrokenPromise>::delete_(folly::exception_wrapper*) in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictorTest.cpp.o
folly::Optional<folly::Try<folly::Unit> >::assign(folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
...
"folly::exception_wrapper::exception_wrapper(std::exception_ptr)", referenced from:
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::doCallback() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
"folly::throwBadFormatArg(char const*)", referenced from:
void folly::BaseFormatter<folly::Formatter<false, long long const&, long long const&>, false, long long const&, long long const&>::operator()<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::format_value::formatString<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::Range<char const*>, folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) in Optimize.cpp.o
void folly::BaseFormatter<folly::Formatter<false, unsigned long&, unsigned long&, double>, false, unsigned long&, unsigned long&, double>::operator()<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::format_value::formatString<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::Range<char const*>, folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) in Optimize.cpp.o
"folly::throwBadFormatArg(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
void folly::FormatArg::error<char const (&) [31]>(char const (&&&) [31]) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [21]>(char const (&&&) [21]) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [14]>(char const (&&&) [14]) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [55]>(char const (&&&) [55]) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [34], unsigned long&>(char const (&&&) [34], unsigned long&&&) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [36]>(char const (&&&) [36]) const in Optimize.cpp.o
void folly::FormatArg::error<char const (&) [20], char&, char const (&) [2]>(char const (&&&) [20], char&&&, char const (&&&) [2]) const in Optimize.cpp.o
...
"folly::threadlocal_detail::StaticMetaBase::destroy(folly::threadlocal_detail::StaticMetaBase::EntryID*)", referenced from:
folly::ThreadLocal<bool, void, void>::~ThreadLocal() in PooledPredictor.cpp.o
folly::ThreadLocal<std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >, void, void>::~ThreadLocal() in PooledPredictor.cpp.o
caffe::fb::Predictor::Predictor(caffe::NetParameter const&, caffe::NetParameter const&, caffe::fb::Predictor::Optimization, bool) in Predictor.cpp.o
caffe::fb::Predictor::Predictor(caffe::NetParameter const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, caffe::fb::Predictor::Optimization, bool) in Predictor.cpp.o
caffe::fb::PredictorTest_Performance_Test::TestBody() in PredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody() in PredictorTest.cpp.o
"folly::threadlocal_detail::StaticMetaBase::reserve(folly::threadlocal_detail::StaticMetaBase::EntryID*)", referenced from:
folly::ThreadLocalPtr<std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >, void, void>::get() const in PooledPredictor.cpp.o
folly::ThreadLocalPtr<std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >, void, void>::reset(std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >*) in PooledPredictor.cpp.o
folly::ThreadLocalPtr<bool, void, void>::get() const in PooledPredictor.cpp.o
folly::ThreadLocalPtr<bool, void, void>::reset(bool*) in PooledPredictor.cpp.o
folly::ThreadLocalPtr<caffe::Net<float>, void, void>::get() const in Predictor.cpp.o
folly::ThreadLocalPtr<caffe::Net<float>, void, void>::reset(caffe::Net<float>*) in Predictor.cpp.o
"folly::threadlocal_detail::StaticMetaBase::StaticMetaBase(folly::threadlocal_detail::ThreadEntry* (*)(), bool)", referenced from:
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in Predictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in PredictorTest.cpp.o
"folly::makeConversionError(folly::ConversionCode, folly::Range<char const*>)", referenced from:
folly::Expected<folly::Unit, folly::ConversionCode> folly::expected_detail::expected_detail_ExpectedHelper::ExpectedHelper::thenOrThrow_<folly::expected_detail::ExpectedStorage<folly::Range<char const*>, folly::ConversionCode, (folly::expected_detail::StorageType)1>&, folly::detail::CheckTrailingSpace, std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda'(folly::ConversionCode), folly::Expected<folly::Unit, folly::ConversionCode>, void, false, 0>(int&&, folly::detail::CheckTrailingSpace&&, std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda'(folly::ConversionCode)&&) in Optimize.cpp.o
std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>)::'lambda0'(folly::ConversionCode)::operator()(folly::ConversionCode) const in Optimize.cpp.o
"folly::throwFutureNotReady()", referenced from:
folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::get() in PooledPredictorTest.cpp.o
"folly::throwFutureAlreadyRetrieved()", referenced from:
folly::Future<std::__1::vector<folly::Try<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type>, std::__1::allocator<std::__1::iterator_traits<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >::value_type::value_type> > > folly::collectAll<std::__1::__wrap_iter<folly::Future<folly::Unit>*> >(std::__1::__wrap_iter<folly::Future<folly::Unit>*>, std::__1::__wrap_iter<folly::Future<folly::Unit>*>) in PooledPredictorTest.cpp.o
"folly::throwPromiseAlreadySatisfied()", referenced from:
std::__1::enable_if<std::is_same<folly::Unit, folly::Unit>::value, void>::type folly::Promise<folly::Unit>::setValue<folly::Unit>() in PooledPredictor.cpp.o
folly::Promise<folly::Unit>::setException(folly::exception_wrapper) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)::operator()(folly::Try<folly::Unit>&&)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)::operator()(folly::Try<folly::Unit>&&)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::Promise<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::setValue<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >(std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > >&&) in PooledPredictorTest.cpp.o
"folly::Future<folly::Unit>::get()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PooledPredictorTest_Threading_Test::TestBody()::$_1> >(void*) in PooledPredictorTest.cpp.o
"folly::Future<folly::Unit>::Future(folly::Future<folly::Unit>&&)", referenced from:
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void std::__1::vector<folly::Future<folly::Unit>, std::__1::allocator<folly::Future<folly::Unit> > >::__push_back_slow_path<folly::Future<folly::Unit> >(folly::Future<folly::Unit>&&) in PooledPredictorTest.cpp.o
"folly::detail::MemoryIdler::unmapUnusedStack(unsigned long)", referenced from:
bool folly::detail::MemoryIdler::futexWaitPreIdle<std::__1::atomic, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(folly::detail::FutexResult&, folly::detail::Futex<std::__1::atomic>&, unsigned int, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, unsigned int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, unsigned long, float) in PooledPredictorTest.cpp.o
"folly::detail::MemoryIdler::defaultIdleTimeout", referenced from:
bool folly::Baton<true, std::__1::atomic>::tryWaitSlow<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, folly::WaitOptions const&) in PooledPredictorTest.cpp.o
"folly::detail::MemoryIdler::flushLocalMallocCaches()", referenced from:
bool folly::detail::MemoryIdler::futexWaitPreIdle<std::__1::atomic, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(folly::detail::FutexResult&, folly::detail::Futex<std::__1::atomic>&, unsigned int, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, unsigned int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, unsigned long, float) in PooledPredictorTest.cpp.o
"folly::detail::formatOctal", referenced from:
void folly::FormatValue<long long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::FormatValue<unsigned long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::detail::formatBinary", referenced from:
void folly::FormatValue<long long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::FormatValue<unsigned long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::detail::formatHexLower", referenced from:
void folly::FormatValue<long long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::FormatValue<unsigned long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::detail::formatHexUpper", referenced from:
void folly::FormatValue<long long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::FormatValue<unsigned long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::Expected<int, folly::ConversionCode> folly::detail::str_to_integral<int>(folly::Range<char const*>*)", referenced from:
std::__1::enable_if<!(std::is_same<folly::Range<char const*>, int>::value), int>::type folly::to<int>(folly::Range<char const*>) in Optimize.cpp.o
"folly::detail::StaticSingletonManager::instance()", referenced from:
folly::ThreadLocal<bool, void, void>::~ThreadLocal() in PooledPredictor.cpp.o
folly::ThreadLocal<std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >, void, void>::~ThreadLocal() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::getThreadEntrySlow() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::preFork() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::onForkParent() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::onForkChild() in PooledPredictor.cpp.o
folly::ThreadLocalPtr<std::__1::vector<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > >, std::__1::allocator<std::__1::unique_ptr<caffe::Net<float>, std::__1::default_delete<caffe::Net<float> > > > >, void, void>::get() const in PooledPredictor.cpp.o
...
"folly::detail::insertThousandsGroupingUnsafe(char*, char**)", referenced from:
void folly::FormatValue<long long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::FormatValue<unsigned long, void>::doFormat<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::detail::throw_optional_empty_exception()", referenced from:
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda'()::operator()() in PooledPredictor.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda0'()::operator()() in PooledPredictor.cpp.o
folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >::get() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda'()::operator()() in PooledPredictorTest.cpp.o
folly::futures::detail::Core<folly::Unit>::doCallback()::'lambda0'()::operator()() in PooledPredictorTest.cpp.o
...
"folly::detail::Futex<std::__1::atomic>::futexWaitImpl(unsigned int, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l> > > const*, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const*, unsigned int)", referenced from:
folly::detail::TurnSequencer<std::__1::atomic>::TryWaitResult folly::detail::TurnSequencer<std::__1::atomic>::tryWaitForTurn<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(unsigned int, std::__1::atomic<unsigned int>&, bool, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const*) in PooledPredictor.cpp.o
bool folly::Baton<true, std::__1::atomic>::tryWaitSlow<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, folly::WaitOptions const&) in PooledPredictorTest.cpp.o
bool folly::detail::MemoryIdler::futexWaitPreIdle<std::__1::atomic, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(folly::detail::FutexResult&, folly::detail::Futex<std::__1::atomic>&, unsigned int, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&, unsigned int, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >, unsigned long, float) in PooledPredictorTest.cpp.o
"folly::detail::Futex<std::__1::atomic>::futexWake(int, unsigned int)", referenced from:
caffe::fb::PooledPredictor::enqueueJob(std::__1::function<void (caffe::Net<float>*)>&&, unsigned int) in PooledPredictor.cpp.o
void folly::detail::MPMCQueueBase<folly::MPMCQueue<std::__1::unique_ptr<caffe::fb::PooledPredictor::Job, std::__1::default_delete<caffe::fb::PooledPredictor::Job> >, std::__1::atomic, false> >::enqueueWithTicketBase<std::nullptr_t>(unsigned long long, folly::detail::SingleElementQueue<std::__1::unique_ptr<caffe::fb::PooledPredictor::Job, std::__1::default_delete<caffe::fb::PooledPredictor::Job> >, std::__1::atomic>*, unsigned long, int, std::nullptr_t&&) in PooledPredictor.cpp.o
folly::detail::SingleElementQueue<std::__1::unique_ptr<caffe::fb::PooledPredictor::Job, std::__1::default_delete<caffe::fb::PooledPredictor::Job> >, std::__1::atomic>::dequeueImpl(unsigned int, std::__1::atomic<unsigned int>&, bool, std::__1::unique_ptr<caffe::fb::PooledPredictor::Job, std::__1::default_delete<caffe::fb::PooledPredictor::Job> >&, folly::detail::SingleElementQueue<std::__1::unique_ptr<caffe::fb::PooledPredictor::Job, std::__1::default_delete<caffe::fb::PooledPredictor::Job> >, std::__1::atomic>::ImplByRelocation) in PooledPredictor.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&&)>::callSmall<void folly::futures::detail::waitImpl<folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >, std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >(folly::Future<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&)::'lambda'(folly::Try<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > > const&)>(folly::detail::function::Data&, folly::Try<std::__1::vector<folly::Try<folly::Unit>, std::__1::allocator<folly::Try<folly::Unit> > > >&&) in PooledPredictorTest.cpp.o
"folly::detail::AtFork::registerHandler(void*, folly::Function<void ()>, folly::Function<void ()>, folly::Function<void ()>)", referenced from:
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in PooledPredictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in Predictor.cpp.o
folly::threadlocal_detail::StaticMeta<void, void>::StaticMeta() in PredictorTest.cpp.o
"folly::readFull(int, void*, unsigned long)", referenced from:
bool folly::readFile<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long) in PooledPredictorTest.cpp.o
bool folly::readFile<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long) in PredictorTest.cpp.o
"folly::FormatArg::initSlow()", referenced from:
void folly::BaseFormatter<folly::Formatter<false, long long const&, long long const&>, false, long long const&, long long const&>::operator()<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
void folly::BaseFormatter<folly::Formatter<false, unsigned long&, unsigned long&, double>, false, unsigned long&, unsigned long&, double>::operator()<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::openNoInt(char const*, int, unsigned short)", referenced from:
caffe::fb::PooledPredictorTest::getConfig(bool) in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_Performance_Test::TestBody() in PredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody() in PredictorTest.cpp.o
"testing::AssertionSuccess()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody() in PredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody()::$_0> >(void*) in PredictorTest.cpp.o
...
"testing::Test::SetUp()", referenced from:
vtable for caffe::fb::PredictorTest_Performance_Test in PredictorTest.cpp.o
vtable for caffe::fb::PredictorTest_ConsistentAcrossThreads_Test in PredictorTest.cpp.o
"testing::Test::TearDown()", referenced from:
vtable for caffe::fb::PooledPredictorTest_Correctness_Test in PooledPredictorTest.cpp.o
vtable for caffe::fb::PooledPredictorTest_Threading_Test in PooledPredictorTest.cpp.o
vtable for caffe::fb::PooledPredictorTest_InlineScheduling_Test in PooledPredictorTest.cpp.o
vtable for caffe::fb::PooledPredictorMultiNetTest_Correctness_Test in PooledPredictorTest.cpp.o
vtable for caffe::fb::PooledPredictorTest in PooledPredictorTest.cpp.o
vtable for caffe::fb::PooledPredictorMultiNetTest in PooledPredictorTest.cpp.o
vtable for caffe::fb::PredictorTest_Performance_Test in PredictorTest.cpp.o
...
"testing::Test::Test()", referenced from:
testing::internal::ParameterizedTestFactory<caffe::fb::PooledPredictorTest_Correctness_Test>::CreateTest() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestFactory<caffe::fb::PooledPredictorTest_Threading_Test>::CreateTest() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestFactory<caffe::fb::PooledPredictorTest_InlineScheduling_Test>::CreateTest() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestFactory<caffe::fb::PooledPredictorMultiNetTest_Correctness_Test>::CreateTest() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestFactory<caffe::fb::PredictorTest_Performance_Test>::CreateTest() in PredictorTest.cpp.o
testing::internal::ParameterizedTestFactory<caffe::fb::PredictorTest_ConsistentAcrossThreads_Test>::CreateTest() in PredictorTest.cpp.o
"testing::Test::~Test()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::~PooledPredictorTest_Correctness_Test() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Correctness_Test::~PooledPredictorTest_Correctness_Test() in PooledPredictorTest.cpp.o
non-virtual thunk to caffe::fb::PooledPredictorTest_Correctness_Test::~PooledPredictorTest_Correctness_Test() in PooledPredictorTest.cpp.o
non-virtual thunk to caffe::fb::PooledPredictorTest_Correctness_Test::~PooledPredictorTest_Correctness_Test() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::~PooledPredictorTest_Threading_Test() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::~PooledPredictorTest_Threading_Test() in PooledPredictorTest.cpp.o
non-virtual thunk to caffe::fb::PooledPredictorTest_Threading_Test::~PooledPredictorTest_Threading_Test() in PooledPredictorTest.cpp.o
...
"testing::Message::Message()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::gtest_ModelsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_MemoryPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
...
"testing::UnitTest::GetInstance()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::AddToRegistry() in PooledPredictorTest.cpp.o
__GLOBAL__sub_I_PooledPredictorTest.cpp in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_Performance_Test::AddToRegistry() in PredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::AddToRegistry() in PredictorTest.cpp.o
...
"testing::UnitTest::parameterized_test_registry()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::AddToRegistry() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::AddToRegistry() in PooledPredictorTest.cpp.o
__GLOBAL__sub_I_PooledPredictorTest.cpp in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_Performance_Test::AddToRegistry() in PredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::AddToRegistry() in PredictorTest.cpp.o
...
"testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PooledPredictorTest_Threading_Test::TestBody()::$_1> >(void*) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
...
"testing::internal::AssertHelper::~AssertHelper()", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PooledPredictorTest_Threading_Test::TestBody()::$_1> >(void*) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
...
"testing::internal::g_linked_ptr_mutex", referenced from:
caffe::fb::gtest_ModelsPooledPredictorTest_EvalGenerator_() in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorTest_EvalGenerator_() in PooledPredictorTest.cpp.o
caffe::fb::gtest_MemoryPooledPredictorTest_EvalGenerator_() in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorMultiNetTest_EvalGenerator_() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::AddTestPattern(char const*, char const*, testing::internal::TestMetaFactoryBase<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> >*) in PooledPredictorTest.cpp.o
testing::internal::linked_ptr<testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::TestInfo>::~linked_ptr() in PooledPredictorTest.cpp.o
void std::__1::vector<testing::internal::linked_ptr<testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::TestInfo>, std::__1::allocator<testing::internal::linked_ptr<testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::TestInfo> > >::__push_back_slow_path<testing::internal::linked_ptr<testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::TestInfo> >(testing::internal::linked_ptr<testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::TestInfo>&&) in PooledPredictorTest.cpp.o
...
"testing::internal::DoubleNearPredFormat(char const*, char const*, char const*, double, double, double)", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PooledPredictorTest_Threading_Test::TestBody()::$_1> >(void*) in PooledPredictorTest.cpp.o
caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody() in PredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PredictorTest_ConsistentAcrossThreads_Test::TestBody()::$_0> >(void*) in PredictorTest.cpp.o
"testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)", referenced from:
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::RegisterTests() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorMultiNetTest>::RegisterTests() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PredictorTest>::RegisterTests() in PredictorTest.cpp.o
"testing::internal::ReportInvalidTestCaseType(char const*, testing::internal::CodeLocation)", referenced from:
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>* testing::internal::ParameterizedTestCaseRegistry::GetTestCasePatternHolder<caffe::fb::PooledPredictorTest>(char const*, testing::internal::CodeLocation) in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorMultiNetTest>* testing::internal::ParameterizedTestCaseRegistry::GetTestCasePatternHolder<caffe::fb::PooledPredictorMultiNetTest>(char const*, testing::internal::CodeLocation) in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PredictorTest>* testing::internal::ParameterizedTestCaseRegistry::GetTestCasePatternHolder<caffe::fb::PredictorTest>(char const*, testing::internal::CodeLocation) in PredictorTest.cpp.o
"testing::internal::IsTrue(bool)", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::gtest_ModelsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_MemoryPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
...
"testing::internal::GTestLog::GTestLog(testing::internal::GTestLogSeverity, char const*, int)", referenced from:
testing::internal::MutexBase::Lock() in PooledPredictorTest.cpp.o
testing::internal::MutexBase::Unlock() in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator::Equals(testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const&) const in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator const* testing::internal::CheckedDowncastToActualType<testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator const, testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const>(testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const*) in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator::Equals(testing::internal::ParamIteratorInterface<caffe::fb::InputType> const&) const in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator const* testing::internal::CheckedDowncastToActualType<testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator const, testing::internal::ParamIteratorInterface<caffe::fb::InputType> const>(testing::internal::ParamIteratorInterface<caffe::fb::InputType> const*) in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<int>::Iterator::Equals(testing::internal::ParamIteratorInterface<int> const&) const in PooledPredictorTest.cpp.o
...
"testing::internal::GTestLog::~GTestLog()", referenced from:
testing::internal::MutexBase::Lock() in PooledPredictorTest.cpp.o
testing::internal::MutexBase::Unlock() in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator::Equals(testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const&) const in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator const* testing::internal::CheckedDowncastToActualType<testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::ModelSpec>::Iterator const, testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const>(testing::internal::ParamIteratorInterface<caffe::fb::ModelSpec> const*) in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator::Equals(testing::internal::ParamIteratorInterface<caffe::fb::InputType> const&) const in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator const* testing::internal::CheckedDowncastToActualType<testing::internal::ValuesInIteratorRangeGenerator<caffe::fb::InputType>::Iterator const, testing::internal::ParamIteratorInterface<caffe::fb::InputType> const>(testing::internal::ParamIteratorInterface<caffe::fb::InputType> const*) in PooledPredictorTest.cpp.o
testing::internal::ValuesInIteratorRangeGenerator<int>::Iterator::Equals(testing::internal::ParamIteratorInterface<int> const&) const in PooledPredictorTest.cpp.o
...
"testing::internal::EqFailure(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
testing::AssertionResult testing::internal::CmpHelperEQFailure<std::__1::atomic<unsigned int>, int>(char const*, char const*, std::__1::atomic<unsigned int> const&, int const&) in PooledPredictorTest.cpp.o
testing::AssertionResult testing::internal::CmpHelperEQFailure<int, unsigned long>(char const*, char const*, int const&, unsigned long const&) in PredictorTest.cpp.o
"testing::internal2::PrintBytesInObjectTo(unsigned char const*, unsigned long, std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > testing::PrintToString<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> >(std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> const&) in PooledPredictorTest.cpp.o
void testing::internal::DefaultPrintTo<std::__1::vector<caffe::fb::ModelSpec, std::__1::allocator<caffe::fb::ModelSpec> > >(testing::internal::WrapPrinterType<(testing::internal::DefaultPrinterType)0>, std::__1::vector<caffe::fb::ModelSpec, std::__1::allocator<caffe::fb::ModelSpec> > const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*) in PooledPredictorTest.cpp.o
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > testing::PrintToString<std::__1::tuple<caffe::fb::InputType, caffe::fb::Predictor::Optimization, caffe::fb::ModelSpec> >(std::__1::tuple<caffe::fb::InputType, caffe::fb::Predictor::Optimization, caffe::fb::ModelSpec> const&) in PredictorTest.cpp.o
"folly::FormatValue<double, void>::formatHelper(folly::basic_fbstring<char, std::__1::char_traits<char>, std::__1::allocator<char>, folly::fbstring_core<char> >&, int&, folly::FormatArg&) const", referenced from:
void folly::FormatValue<double, void>::format<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"folly::FormatArg::validate(folly::FormatArg::Type) const", referenced from:
void folly::BaseFormatter<folly::Formatter<false, long long const&, long long const&>, false, long long const&, long long const&>::operator()<std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)>(std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, long long const&, long long const&>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, long long const&, long long const&> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
std::__1::enable_if<(0ul) < (folly::BaseFormatter<folly::Formatter<false, unsigned long&, unsigned long&, double>, false, unsigned long&, unsigned long&, double>::valueCount), void>::type folly::BaseFormatter<folly::Formatter<false, unsigned long&, unsigned long&, double>, false, unsigned long&, unsigned long&, double>::doFormatFrom<0ul, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)>(unsigned long, folly::FormatArg&, std::__1::basic_ostream<char, std::__1::char_traits<char> >& folly::operator<<<false, unsigned long&, unsigned long&, double>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, folly::Formatter<false, unsigned long&, unsigned long&, double> const&)::'lambda'(folly::Range<char const*>)&) const in Optimize.cpp.o
"testing::Message::GetString() const", referenced from:
caffe::fb::gtest_ModelsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_MemoryPooledPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > const&) in PooledPredictorTest.cpp.o
caffe::fb::gtest_ThreadsPooledPredictorMultiNetTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<std::__1::vector<caffe::fb::ModelSpec, std::__1::allocator<caffe::fb::ModelSpec> >, int> > const&) in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorTest>::RegisterTests() in PooledPredictorTest.cpp.o
testing::internal::ParameterizedTestCaseInfo<caffe::fb::PooledPredictorMultiNetTest>::RegisterTests() in PooledPredictorTest.cpp.o
caffe::fb::gtest_PROTOPredictorTest_EvalGenerateName_(testing::TestParamInfo<std::__1::tuple<caffe::fb::InputType, caffe::fb::Predictor::Optimization, caffe::fb::ModelSpec> > const&) in PredictorTest.cpp.o
...
"testing::internal::AssertHelper::operator=(testing::Message const&) const", referenced from:
caffe::fb::PooledPredictorTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_Threading_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody() in PooledPredictorTest.cpp.o
caffe::fb::PooledPredictorMultiNetTest_Correctness_Test::TestBody() in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>, false>(caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_Correctness_Test::TestBody()::$_0>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, caffe::fb::PooledPredictorTest_Threading_Test::TestBody()::$_1> >(void*) in PooledPredictorTest.cpp.o
void folly::detail::function::FunctionTraits<void (folly::Try<folly::Unit>&&)>::callSmall<std::__1::enable_if<folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::ReturnsFuture::value, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2, folly::futures::detail::callableResult<folly::Unit, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>, false>(caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2&&, folly::futures::detail::argResult<false, caffe::fb::PooledPredictorTest_InlineScheduling_Test::TestBody()::$_2>)::'lambda'(folly::Try<folly::Unit>&&)>(folly::detail::function::Data&, folly::Try<folly::Unit>&&) in PooledPredictorTest.cpp.o
...
"typeinfo for testing::Test", referenced from:
typeinfo for testing::TestWithParam<std::__1::tuple<caffe::fb::InputType, caffe::fb::ModelSpec, int, caffe::fb::Predictor::Optimization> > in PooledPredictorTest.cpp.o
typeinfo for testing::TestWithParam<std::__1::tuple<std::__1::vector<caffe::fb::ModelSpec, std::__1::allocator<caffe::fb::ModelSpec> >, int> > in PooledPredictorTest.cpp.o
typeinfo for testing::TestWithParam<std::__1::tuple<caffe::fb::InputType, caffe::fb::Predictor::Optimization, caffe::fb::ModelSpec> > in PredictorTest.cpp.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[2]: *** [lib/libcaffe.1.0.0.dylib] Error 1
make[1]: *** [src/caffe/CMakeFiles/caffe.dir/all] Error 2
make: *** [all] Error 2
Has anyone encountered this issue? Any idea will be welcome.