Re: Repetitive builds for Ceph

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've never seen this either.  The build is slow and there is certainly 
code reorg that could be done to speed it up but incremental builds 
definitely work and are used extensively by all developers...

sage

On Mon, 2 Feb 2015, Loic Dachary 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@xxxxxxxxxxxxxx
> > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
> > 
> 
> -- 
> Loïc Dachary, Artisan Logiciel Libre
> 
> 
_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Ceph Dev]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux