While I don't know about this odd boost issue you see, personally I find it useful to always be specific about built targets, as an overall "make" will build e.g. unit tests -- quite slow. My favourite is "make ceph-mds ceph-osd ceph-mon ceph-fuse" -- incremental builds are pretty snappy that way. John On Mon, Feb 2, 2015 at 1:02 PM, Ritesh Raj Sarraf <rrs@xxxxxxxxxxxxxx> wrote: > Hi, > > We are currently working on adding changes to a sub-feature of Ceph. > > My current challenge lies with the build environment of Ceph. Ceph is > huge and takes a lot of time to build. The build folder is close to 15 GiB. > > I would like to re-use the compiled files when adding changes to the > sub-feature. Ideally, on a Makefile based build, this should be easily > doable. But for Ceph, I have run into some problems. > > > In my repetitive build (one followed by another), I run into the > following build failure. The following failure will not occur if the > build is triggered in a clean environment. > > My intent is to get faster builds. Thus intending to re-use the compiled > objects. > > Is this something not supported for Ceph ? > > ========================================================= > rm -f stamp-h1 > touch config.h.in > cd . && /bin/bash ./config.status config.h > config.status: creating config.h > config.status: config.h is unchanged > make[5]: Entering directory > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb' > make[5]: Nothing to be done for|install-exec-am'. > make[5]: Nothing to be done for |install-data-am'. make[5]: Leaving > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb' > make[4]: Leaving directory > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb' > make[4]: Entering > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src' > ./check_version ./.git_version > not updating .git_version (no ./../.git) > rm -f ceph-debugpack ceph-debugpack.tmp > rm -f ceph-post-file ceph-post-file.tmp > rm -f ceph-crush-location ceph-crush-location.tmp > rm -f ceph-coverage ceph-coverage.tmp > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix > <https://github.com/prefix>[@]|/usr|g' -e > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-post-file.in' >ceph-post-file.tmp > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix > <https://github.com/prefix>[@]|/usr|g' -e > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-debugpack.in' >ceph-debugpack.tmp > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix > <https://github.com/prefix>[@]|/usr|g' -e > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-crush-location.in' >>ceph-crush-location.tmp > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix > <https://github.com/prefix>[@]|/usr|g' -e > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-coverage.in' >ceph-coverage.tmp > chmod +x ceph-post-file.tmp > chmod +x ceph-debugpack.tmp > chmod +x ceph-crush-location.tmp > chmod +x ceph-coverage.tmp > chmod a-w ceph-post-file.tmp > chmod a-w ceph-debugpack.tmp > chmod a-w ceph-crush-location.tmp > chmod a-w ceph-coverage.tmp > mv ceph-debugpack.tmp ceph-debugpack > mv ceph-post-file.tmp ceph-post-file > mv ceph-crush-location.tmp ceph-crush-location > mv ceph-coverage.tmp ceph-coverage > CXXLD libec_lrc.la > CXXLD libec_isa.la > CXXLD libos_rocksdb.la > CXXLD libmds.la > CXXLD libclient_fuse.la > CXXLD libcls_refcount.la > CXXLD libcls_rgw.la > rm -f ceph ceph.tmp > echo "#!/usr/bin/env python" >ceph.tmp > grep "#define CEPH_GIT_NICE_VER" ./ceph_ver.h | \ > sed -e 's/#define (./VER) /\1=/' >>ceph.tmp > grep "#define CEPH_GIT_VER" ./ceph_ver.h | \ > sed -e 's/#define (./VER) /\1=/' -e 's/=(./)$/="\1"/' >>ceph.tmp > cat ./ceph.in >>ceph.tmp > chmod a+x ceph.tmp > chmod a-w ceph.tmp > mv ceph.tmp ceph > CXXLD libosd.la > CXXLD liberasure_code.la > CXXLD librados.la > CXXLD libradosstriper.la > copying selected object files to avoid basename conflicts... > CCLD libcommon.la > CXXLD libcephfs.la > CXXLD libmon.la > copying selected object files to avoid basename conflicts... > CXXLD libglobal.la > CXXLD libkrbd.la > CXXLD ceph_erasure_code_benchmark > ./.libs/libglobal.a(json_spirit_reader.o): In function > |~thread_specific_ptr': /usr/include/boost/thread/tss.hpp:79: undefined > reference to|boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > /usr/include/boost/thread/tss.hpp:79: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > /usr/include/boost/thread/tss.hpp:79: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > /usr/include/boost/thread/tss.hpp:79: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > /usr/include/boost/thread/tss.hpp:79: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o):/usr/include/boost/thread/tss.hpp:79: > more undefined references to `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' follow > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to|boost::thread_detail::commit_once_region(boost::once_flag&)' > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to > |boost::thread_detail::rollback_once_region(boost::once_flag&)' > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to|boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function > |boost::thread_specific_ptr<boost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >>, __gnu_cxx::__normal_iterator<char const*, std::string> >, > boost::spirit::classic::parser_context<boost::spirit::classic::nil_t> >, > json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >>, __gnu_cxx::__normal_iterator<char const*, std::string> >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator<char > const*, std::string>, > boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > /usr/include/boost/thread/tss.hpp:84: undefined reference to > `boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |call_once<void > (*)()>': /usr/include/boost/thread/pthread/once_atomic.hpp:157: > undefined reference > to|boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function > |boost::thread_specific_ptr<boost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >>, __gnu_cxx::__normal_iterator<char const*, std::string> >, > boost::spirit::classic::parser_context<boost::spirit::classic::nil_t> >, > json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string> >>, __gnu_cxx::__normal_iterator<char const*, std::string> >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator<char > const*, std::string>, > boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function > `boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, __gnu_cxx::__normal_iterator<char const/, std::string> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >, > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque> >, > boost::spirit::classic::scanner, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined > reference to > |boost::thread_detail::enter_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > /usr/include/boost/thread/tss.hpp:84: undefined reference > to|boost::detail::get_tss_data(void const/)' > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void > (/)()>': > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined > reference to > |boost::thread_detail::commit_once_region(boost::once_flag&)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >::get() const': > /usr/include/boost/thread/tss.hpp:84: undefined reference to > |boost::detail::get_tss_data(void const*)' > ./.libs/libglobal.a(json_spirit_reader.o): In > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > > >>::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string >>, boost::spirit::classic::position_iterator, long>, > boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >, > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner, > long>, boost::spirit::classic::multi_pass_policies::input_iterator, > boost::spirit::classic::multi_pass_policies::ref_counted, > boost::spirit::classic::multi_pass_policies::buf_id_check, > boost::spirit::classic::multi_pass_policies::std_deque>, > boost::spirit::classic::file_position_basestd::string, > boost::spirit::classic::nil_t>, > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy, > boost::spirit::classic::match_policy, > boost::spirit::classic::action_policy> > > >/)': > /usr/include/boost/thread/tss.hpp:105: undefined reference to > `boost::detail::set_tss_data(void const/, > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_': > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)' > collect2: error: ld returned 1 exit status > make[4]: */* [ceph_erasure_code_benchmark] Error 1 > make[4]: *** Waiting for unfinished jobs.... > make[4]: Leaving directory > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src' > make[3]: *** [install-recursive] Error 1 make[3]: Leaving > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src' > > make[2]: *** [install] Error 2 > > make[2]: Leaving directory > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src' > make[1]: *** [install-recursive] Error 1 make[1]: Leaving > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54' > > make: *** [install] Error 2 > > dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit > status 2 > > ubuntu@trusty-test:/var/tmp/lxc/ceph$ > > ========================================================= > > -- > Given the large number of mailing lists I follow, I request you to CC me > in replies for quicker response > > > > _______________________________________________ > ceph-users mailing list > ceph-users@xxxxxxxxxxxxxx > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com