Are you actually using CMake? It's an alternative and incomplete build system right now; the autotools build chain is the canonical one. (I don't think it should be causing your problem, but...who knows?) -Greg On Mon, Feb 2, 2015 at 4:21 AM Ritesh Raj Sarraf <r...@researchut.com> 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 <l...@dachary.org> 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 >> > 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$ >> > >> > ========================================================= >> > >> > >> > >> > _______________________________________________ >> > ceph-users mailing list >> > ceph-users@lists.ceph.com >> > 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." > _______________________________________________ > ceph-users mailing list > ceph-users@lists.ceph.com > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com >
_______________________________________________ ceph-users mailing list ceph-users@lists.ceph.com http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com