Re: Repetitive builds for Ceph

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

 




On 02/02/2015 13:27, Ritesh Raj Sarraf wrote:
> By the way, I'm trying to build Ceph from master, on Ubuntu Trusty. I hope that is supported ?

Yes, that's also what I have.

> On Mon, Feb 2, 2015 at 5:51 PM, Ritesh Raj Sarraf <rrs@xxxxxxxxxxxxxx <mailto:rrs@xxxxxxxxxxxxxx>> wrote:
> 
>     Thanks Loic. I guess I need to look at the deb building script first then.
> 
>     And now, looking at src/CMakeLists.txt, it is clear that Ceph does make use of reusing the build liraries.
> 
>     On Mon, Feb 2, 2015 at 5:43 PM, Loic Dachary <loic@xxxxxxxxxxx <mailto:loic@xxxxxxxxxxx>> wrote:
> 
>         Hi,
> 
>         I re-compile without cleaning and don't have the same problem. It is supported by Ceph, the problem is elsewhere.
> 
>         My 2cts ;-)
> 
>         On 02/02/2015 13:02, Ritesh Raj Sarraf wrote:
>         > Hi,
>         >
>         > We are currently working on adding changes to a sub-feature of Ceph.
>         >
>         > My current challenge lies with the build environment of Ceph. Ceph is
>         > huge and takes a lot of time to build. The build folder is close to 15 GiB.
>         >
>         > I would like to re-use the compiled files when adding changes to the
>         > sub-feature. Ideally, on a Makefile based build, this should be easily
>         > doable. But for Ceph, I have run into some problems.
>         >
>         >
>         > In my repetitive build (one followed by another), I run into the
>         > following build failure. The following failure will not occur if the
>         > build is triggered in a clean environment.
>         >
>         > My intent is to get faster builds. Thus intending to re-use the compiled
>         > objects.
>         >
>         > Is this something not supported for Ceph ?
>         >
>         > =========================================================
>         > rm -f stamp-h1
>         > touch config.h.in <http://config.h.in>
>         > cd . && /bin/bash ./config.status config.h
>         > config.status: creating config.h
>         > config.status: config.h is unchanged
>         > make[5]: Entering directory
>         > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb'
>         > make[5]: Nothing to be done for|install-exec-am'.
>         > make[5]: Nothing to be done for |install-data-am'. make[5]: Leaving
>         > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb'
>         > make[4]: Leaving directory
>         > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src/rocksdb'
>         > make[4]: Entering
>         > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src'
>         > ./check_version ./.git_version
>         > not updating .git_version (no ./../.git)
>         > rm -f ceph-debugpack ceph-debugpack.tmp
>         > rm -f ceph-post-file ceph-post-file.tmp
>         > rm -f ceph-crush-location ceph-crush-location.tmp
>         > rm -f ceph-coverage ceph-coverage.tmp
>         > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e
>         > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e
>         > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix
>         > <https://github.com/prefix>[@]|/usr|g' -e
>         > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-post-file.in <http://ceph-post-file.in>' >ceph-post-file.tmp
>         > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e
>         > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e
>         > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix
>         > <https://github.com/prefix>[@]|/usr|g' -e
>         > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-debugpack.in <http://ceph-debugpack.in>' >ceph-debugpack.tmp
>         > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e
>         > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e
>         > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix
>         > <https://github.com/prefix>[@]|/usr|g' -e
>         > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-crush-location.in <http://ceph-crush-location.in>'
>         >> ceph-crush-location.tmp
>         > sed -e 's|@bindir[@]|/usr/bin|g' -e 's|@sbindir[@]|/usr/sbin|g' -e
>         > 's|@libdir[@]|/usr/lib|g' -e 's|@sysconfdir[@]|/etc|g' -e
>         > 's|@datadir[@]|/usr/share/ceph|g' -e 's|@prefix
>         > <https://github.com/prefix>[@]|/usr|g' -e
>         > 's|@@GCOV_PREFIX_STRIP[@][@]|8|g' './ceph-coverage.in <http://ceph-coverage.in>' >ceph-coverage.tmp
>         > chmod +x ceph-post-file.tmp
>         > chmod +x ceph-debugpack.tmp
>         > chmod +x ceph-crush-location.tmp
>         > chmod +x ceph-coverage.tmp
>         > chmod a-w ceph-post-file.tmp
>         > chmod a-w ceph-debugpack.tmp
>         > chmod a-w ceph-crush-location.tmp
>         > chmod a-w ceph-coverage.tmp
>         > mv ceph-debugpack.tmp ceph-debugpack
>         > mv ceph-post-file.tmp ceph-post-file
>         > mv ceph-crush-location.tmp ceph-crush-location
>         > mv ceph-coverage.tmp ceph-coverage
>         > CXXLD libec_lrc.la <http://libec_lrc.la>
>         > CXXLD libec_isa.la <http://libec_isa.la>
>         > CXXLD libos_rocksdb.la <http://libos_rocksdb.la>
>         > CXXLD libmds.la <http://libmds.la>
>         > CXXLD libclient_fuse.la <http://libclient_fuse.la>
>         > CXXLD libcls_refcount.la <http://libcls_refcount.la>
>         > CXXLD libcls_rgw.la <http://libcls_rgw.la>
>         > rm -f ceph ceph.tmp
>         > echo "#!/usr/bin/env python" >ceph.tmp
>         > grep "#define CEPH_GIT_NICE_VER" ./ceph_ver.h | \
>         > sed -e 's/#define (./VER) /\1=/' >>ceph.tmp
>         > grep "#define CEPH_GIT_VER" ./ceph_ver.h | \
>         > sed -e 's/#define (./VER) /\1=/' -e 's/=(./)$/="\1"/' >>ceph.tmp
>         > cat ./ceph.in <http://ceph.in> >>ceph.tmp
>         > chmod a+x ceph.tmp
>         > chmod a-w ceph.tmp
>         > mv ceph.tmp ceph
>         > CXXLD libosd.la <http://libosd.la>
>         > CXXLD liberasure_code.la <http://liberasure_code.la>
>         > CXXLD librados.la <http://librados.la>
>         > CXXLD libradosstriper.la <http://libradosstriper.la>
>         > copying selected object files to avoid basename conflicts...
>         > CCLD libcommon.la <http://libcommon.la>
>         > CXXLD libcephfs.la <http://libcephfs.la>
>         > CXXLD libmon.la <http://libmon.la>
>         > copying selected object files to avoid basename conflicts...
>         > CXXLD libglobal.la <http://libglobal.la>
>         > CXXLD libkrbd.la <http://libkrbd.la>
>         > CXXLD ceph_erasure_code_benchmark
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function
>         > |~thread_specific_ptr': /usr/include/boost/thread/tss.hpp:79: undefined
>         > reference to|boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > /usr/include/boost/thread/tss.hpp:79: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > /usr/include/boost/thread/tss.hpp:79: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > /usr/include/boost/thread/tss.hpp:79: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > /usr/include/boost/thread/tss.hpp:79: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o):/usr/include/boost/thread/tss.hpp:79:
>         > more undefined references to `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)' follow
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to|boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to
>         > |boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to|boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function
>         > |boost::thread_specific_ptr<boost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string>
>         >> , __gnu_cxx::__normal_iterator<char const*, std::string> >,
>         > boost::spirit::classic::parser_context<boost::spirit::classic::nil_t> >,
>         > json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string>
>         >> , __gnu_cxx::__normal_iterator<char const*, std::string> >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator<char
>         > const*, std::string>,
>         > boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > `boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |call_once<void
>         > (*)()>': /usr/include/boost/thread/pthread/once_atomic.hpp:157:
>         > undefined reference
>         > to|boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function
>         > |boost::thread_specific_ptr<boost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string>
>         >> , __gnu_cxx::__normal_iterator<char const*, std::string> >,
>         > boost::spirit::classic::parser_context<boost::spirit::classic::nil_t> >,
>         > json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string>
>         >> , __gnu_cxx::__normal_iterator<char const*, std::string> >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator<char
>         > const*, std::string>,
>         > boost::spirit::classic::scanner_policies<boost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy>,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function
>         > `boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , __gnu_cxx::__normal_iterator<char const/, std::string> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, __gnu_cxx::__normal_iterator >,
>         > boost::spirit::classic::scanner<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> ,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >,
>         > boost::spirit::classic::position_iterator<__gnu_cxx::__normal_iterator,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::multi_pass, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque> >,
>         > boost::spirit::classic::scanner, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_vector<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:145: undefined
>         > reference to
>         > |boost::thread_detail::enter_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference
>         > to|boost::detail::get_tss_data(void const/)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function `call_once<void
>         > (/)()>':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:157: undefined
>         > reference to
>         > |boost::thread_detail::commit_once_region(boost::once_flag&)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > > >::get() const':
>         > /usr/include/boost/thread/tss.hpp:84: undefined reference to
>         > |boost::detail::get_tss_data(void const*)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In
>         > function|boost::thread_specific_ptrboost::weak_ptr<boost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >
>         >> ::reset(boost::weak_ptrboost::spirit::classic::impl::grammar_helper<boost::spirit::classic::grammar<json_spirit::Json_grammer<json_spirit::Value_impl<json_spirit::Config_map<std::string
>         >> , boost::spirit::classic::position_iterator, long>,
>         > boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >,
>         > boost::spirit::classic::parser_contextboost::spirit::classic::nil_t >,
>         > json_spirit::Json_grammer >, boost::spirit::classic::position_iterator,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t> >, boost::spirit::classic::scanner,
>         > long>, boost::spirit::classic::multi_pass_policies::input_iterator,
>         > boost::spirit::classic::multi_pass_policies::ref_counted,
>         > boost::spirit::classic::multi_pass_policies::buf_id_check,
>         > boost::spirit::classic::multi_pass_policies::std_deque>,
>         > boost::spirit::classic::file_position_basestd::string,
>         > boost::spirit::classic::nil_t>,
>         > boost::spirit::classic::scanner_policiesboost::spirit::classic::skipper_iteration_policy<boost::spirit::classic::iteration_policy,
>         > boost::spirit::classic::match_policy,
>         > boost::spirit::classic::action_policy> > > >/)':
>         > /usr/include/boost/thread/tss.hpp:105: undefined reference to
>         > `boost::detail::set_tss_data(void const/,
>         > boost::shared_ptrboost::detail::tss_cleanup_function, void/, bool)'
>         > ./.libs/libglobal.a(json_spirit_reader.o): In function |static_':
>         > /usr/include/boost/thread/pthread/once_atomic.hpp:153: undefined
>         > reference to|boost::thread_detail::rollback_once_region(boost::once_flag&)'
>         > collect2: error: ld returned 1 exit status
>         > make[4]: */* [ceph_erasure_code_benchmark] Error 1
>         > make[4]: *** Waiting for unfinished jobs....
>         > make[4]: Leaving directory
>         > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src'
>         > make[3]: *** [install-recursive] Error 1 make[3]: Leaving
>         > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src'
>         >
>         > make[2]: *** [install] Error 2
>         >
>         > make[2]: Leaving directory
>         > |/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54/src'
>         > make[1]: *** [install-recursive] Error 1 make[1]: Leaving
>         > directory|/var/tmp/lxc/release/Ubuntu/WORKDIR/ceph-0.91-578-g8d1de54'
>         >
>         > make: *** [install] Error 2
>         >
>         > dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit
>         > status 2
>         >
>         > ubuntu@trusty-test:/var/tmp/lxc/ceph$
>         >
>         > =========================================================
>         >
>         >
>         >
>         > _______________________________________________
>         > ceph-users mailing list
>         > ceph-users@xxxxxxxxxxxxxx <mailto:ceph-users@xxxxxxxxxxxxxx>
>         > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com
>         >
> 
>         --
>         Loïc Dachary, Artisan Logiciel Libre
> 
> 
> 
> 
>     -- 
>     Ritesh Raj Sarraf
>     RESEARCHUT - http://www.researchut.com
>     "Necessity is the mother of invention."
> 
> 
> 
> 
> -- 
> Ritesh Raj Sarraf
> RESEARCHUT - http://www.researchut.com
> "Necessity is the mother of invention."

-- 
Loïc Dachary, Artisan Logiciel Libre

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

[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