On 02/02/2015 13:27, Ritesh Raj Sarraf wrote: > By the way, I'm trying to build Ceph from master, on Ubuntu Trusty. I hope that is supported ? Yes, that's also what I have. > On Mon, Feb 2, 2015 at 5:51 PM, Ritesh Raj Sarraf <rrs@xxxxxxxxxxxxxx <mailto:rrs@xxxxxxxxxxxxxx>> wrote: > > Thanks Loic. I guess I need to look at the deb building script first then. > > And now, looking at src/CMakeLists.txt, it is clear that Ceph does make use of reusing the build liraries. > > On Mon, Feb 2, 2015 at 5:43 PM, Loic Dachary <loic@xxxxxxxxxxx <mailto:loic@xxxxxxxxxxx>> wrote: > > Hi, > > I re-compile without cleaning and don't have the same problem. It is supported by Ceph, the problem is elsewhere. > > My 2cts ;-) > > On 02/02/2015 13:02, Ritesh Raj Sarraf 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 <http://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 <http://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 <http://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 <http://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 <http://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 <http://libec_lrc.la> > > CXXLD libec_isa.la <http://libec_isa.la> > > CXXLD libos_rocksdb.la <http://libos_rocksdb.la> > > CXXLD libmds.la <http://libmds.la> > > CXXLD libclient_fuse.la <http://libclient_fuse.la> > > CXXLD libcls_refcount.la <http://libcls_refcount.la> > > CXXLD libcls_rgw.la <http://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 <http://ceph.in> >>ceph.tmp > > chmod a+x ceph.tmp > > chmod a-w ceph.tmp > > mv ceph.tmp ceph > > CXXLD libosd.la <http://libosd.la> > > CXXLD liberasure_code.la <http://liberasure_code.la> > > CXXLD librados.la <http://librados.la> > > CXXLD libradosstriper.la <http://libradosstriper.la> > > copying selected object files to avoid basename conflicts... > > CCLD libcommon.la <http://libcommon.la> > > CXXLD libcephfs.la <http://libcephfs.la> > > CXXLD libmon.la <http://libmon.la> > > copying selected object files to avoid basename conflicts... > > CXXLD libglobal.la <http://libglobal.la> > > CXXLD libkrbd.la <http://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$ > > > > ========================================================= > > > > > > > > _______________________________________________ > > ceph-users mailing list > > ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx> > > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com > > > > -- > Loïc Dachary, Artisan Logiciel Libre > > > > > -- > Ritesh Raj Sarraf > RESEARCHUT - http://www.researchut.com > "Necessity is the mother of invention." > > > > > -- > Ritesh Raj Sarraf > RESEARCHUT - http://www.researchut.com > "Necessity is the mother of invention." -- Loïc Dachary, Artisan Logiciel Libre
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com