我正在尝试在PowerGraph工具箱中编译sssp
,可在此处使用https://github.com/jegonzal/PowerGraph。按照建议,我跑了:
$ ./configure --no_tcmalloc
$ cd release/toolkits/graph_analytics
$ make sssp
配置步骤成功,并且所有依赖项都已成功构建。但是,最后的构建步骤(即链接)失败,给出了巨大的错误日志(缩短的版本如下所示):
[ 10%] Built target zookeeper
[ 18%] Built target libbz2
[ 29%] Built target boost
[ 40%] Built target libevent
[ 97%] Built target graphlab
Linking CXX executable sssp
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<bool, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool*, int)'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::string const&, std::string const&, int)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/errors.hpp:372: undefined reference to `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/errors.hpp:372: undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::string const&, std::string const&, std::string const&, int)'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<unsigned long, char>::name() const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<bool, char>::name() const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<std::vector<unsigned int, std::allocator<unsigned int> >, char>::name() const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
CMakeFiles/sssp.dir/sssp.cpp.o: In function `boost::program_options::typed_value<std::string, char>::name() const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
我检查了boost库是否编译成功,发现它们存在于deps/local/lib/
:
libboost_context.a libboost_iostreams.a libboost_system.a libevent_core.a libevent_extra.la libevent_pthreads.la libzookeeper_mt.a libzookeeper_st.la
libboost_date_time.a libboost_program_options.a libbz2.a libevent_core.la libevent.la libhdfs.a libzookeeper_mt.la pkgconfig
libboost_filesystem.a libboost_random.a libevent.a libevent_extra.a libevent_pthreads.a libhdfs.la libzookeeper_st.a
因此,下一步,我尝试手动编译sssp
。我运行了以下命令,该命令使用-L
开关明确指定了位置:
$ mpic++ -O3 -pthread /home/margot/share/PowerGraph-master/toolkits/graph_analytics/sssp.cpp -I /home/margot/share/PowerGraph-master/src/ -L /home/margot/share/PowerGraph-master/deps/local/lib/ -L /home/margot/share/PowerGraph-master/release/src/graphlab/ -lzookeeper_mt -lzookeeper_st -lboost_context -lz -levent -levent_pthreads -lboost_filesystem -lboost_program_options -lboost_system -lboost_iostreams -lboost_date_time -lhdfs -lgraphlab -o sssp.bin
但是,我再次收到链接器错误(如下所示的完整版本):
/tmp/ccokDGNL.o: In function `void graphlab::command_line_options::attach_option<std::vector<unsigned int, std::allocator<unsigned int> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<unsigned int, std::allocator<unsigned int> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
sssp.cpp:(.text._ZN8graphlab20command_line_options13attach_optionISt6vectorIjSaIjEEEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERT_SC_[_ZN8graphlab20command_line_options13attach_optionISt6vectorIjSaIjEEEEvRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERT_SC_]+0x17d): undefined reference to `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > boost::lexical_cast<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<unsigned int, std::allocator<unsigned int> > >(std::vector<unsigned int, std::allocator<unsigned int> > const&)'
/tmp/ccokDGNL.o: In function `graphlab::synchronous_engine<sssp>::resize()':
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspE6resizeEv[_ZN8graphlab18synchronous_engineI4ssspE6resizeEv]+0x22): undefined reference to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspE6resizeEv[_ZN8graphlab18synchronous_engineI4ssspE6resizeEv]+0x25f): undefined reference to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/ccokDGNL.o: In function `graphlab::distributed_ingress_base<vertex_data, edge_data>::finalize()':
sssp.cpp:(.text._ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv[_ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv]+0x263): undefined reference to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
sssp.cpp:(.text._ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv[_ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv]+0x11bb): undefined reference to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
sssp.cpp:(.text._ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv[_ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv]+0x1859): undefined reference to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/ccokDGNL.o:sssp.cpp:(.text._ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv[_ZN8graphlab24distributed_ingress_baseI11vertex_data9edge_dataE8finalizeEv]+0x1f3c): more undefined references to `graphlab::memory_info::log_usage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' follow
/tmp/ccokDGNL.o: In function `graphlab::synchronous_engine<sssp>::synchronous_engine(graphlab::distributed_control&, graphlab::distributed_graph<vertex_data, edge_data>&, graphlab::graphlab_options const&)':
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspEC2ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE[_ZN8graphlab18synchronous_engineI4ssspEC5ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE]+0x1804): undefined reference to `graphlab::distributed_event_logger::create_log_entry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, graphlab::log_type::log_type_enum)'
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspEC2ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE[_ZN8graphlab18synchronous_engineI4ssspEC5ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE]+0x1885): undefined reference to `graphlab::distributed_event_logger::create_log_entry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, graphlab::log_type::log_type_enum)'
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspEC2ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE[_ZN8graphlab18synchronous_engineI4ssspEC5ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE]+0x1906): undefined reference to `graphlab::distributed_event_logger::create_log_entry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, graphlab::log_type::log_type_enum)'
sssp.cpp:(.text._ZN8graphlab18synchronous_engineI4ssspEC2ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE[_ZN8graphlab18synchronous_engineI4ssspEC5ERNS_19distributed_controlERNS_17distributed_graphI11vertex_data9edge_dataEERKNS_16graphlab_optionsE]+0x197a): undefined reference to `graphlab::distributed_event_logger::create_log_entry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, graphlab::log_type::log_type_enum)'
/tmp/ccokDGNL.o: In function `main':
sssp.cpp:(.text.startup+0x77b): undefined reference to `graphlab::command_line_options::add_positional(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
sssp.cpp:(.text.startup+0x92c): undefined reference to `graphlab::command_line_options::add_positional(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/tmp/ccokDGNL.o: In function `graphlab::distributed_graph<vertex_data, edge_data>::load_direct_from_posixfs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::function<bool (graphlab::distributed_graph<vertex_data, edge_data>*, std::istream&)>)':
sssp.cpp:(.text._ZN8graphlab17distributed_graphI11vertex_data9edge_dataE24load_direct_from_posixfsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost8functionIFbPS3_RSiEEE[_ZN8graphlab17distributed_graphI11vertex_data9edge_dataE24load_direct_from_posixfsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost8functionIFbPS3_RSiEEE]+0x1c7): undefined reference to `graphlab::fs_util::list_files_with_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
/tmp/ccokDGNL.o: In function `graphlab::distributed_graph<vertex_data, edge_data>::load_from_posixfs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::function<bool (graphlab::distributed_graph<vertex_data, edge_data>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)':
sssp.cpp:(.text._ZN8graphlab17distributed_graphI11vertex_data9edge_dataE17load_from_posixfsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost8functionIFbRS3_RKS9_SE_EEE[_ZN8graphlab17distributed_graphI11vertex_data9edge_dataE17load_from_posixfsENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN5boost8functionIFbRS3_RKS9_SE_EEE]+0x1c1): undefined reference to `graphlab::fs_util::list_files_with_prefix(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(fiber_control.cpp.o): In function `graphlab::fiber_control::yield_to(graphlab::fiber_control::fiber*)':
/home/margot/share/PowerGraph-master/src/graphlab/parallel/fiber_control.cpp:345: undefined reference to `jump_fcontext'
/home/margot/share/PowerGraph-master/src/graphlab/parallel/fiber_control.cpp:367: undefined reference to `jump_fcontext'
/home/margot/share/PowerGraph-master/src/graphlab/parallel/fiber_control.cpp:349: undefined reference to `jump_fcontext'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(fiber_control.cpp.o): In function `graphlab::fiber_control::launch(boost::function<void ()>, unsigned long, graphlab::fixed_dense_bitset<64>)':
/home/margot/share/PowerGraph-master/src/graphlab/parallel/fiber_control.cpp:297: undefined reference to `make_fcontext'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::get_all_servers(std::string)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:73: undefined reference to `zoo_get_children'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::server_list(std::vector<std::string, std::allocator<std::string> >, std::string, std::string)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:45: undefined reference to `zookeeper_init'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::~server_list()':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:56: undefined reference to `zookeeper_close'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::watch_changes(std::string)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:125: undefined reference to `zoo_get_children'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::issue_callback(std::string)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:163: undefined reference to `zoo_get_children'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(server_list.cpp.o): In function `graphlab::zookeeper::server_list::watcher(_zhandle*, int, int, char const*, void*)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/server_list.cpp:182: undefined reference to `ZOO_CHILD_EVENT'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(dc_tcp_comm.cpp.o): In function `graphlab::dc_impl::dc_tcp_comm::send_loop(event_base*)':
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:648: undefined reference to `gl_event_base_dispatch'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(dc_tcp_comm.cpp.o): In function `graphlab::dc_impl::dc_tcp_comm::receive_loop(event_base*)':
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:589: undefined reference to `gl_event_base_dispatch'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(dc_tcp_comm.cpp.o): In function `graphlab::dc_impl::dc_tcp_comm::close()':
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:257: undefined reference to `gl_event_base_loopbreak'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:260: undefined reference to `gl_event_free'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:262: undefined reference to `gl_event_free'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:263: undefined reference to `gl_event_free'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:264: undefined reference to `gl_event_base_free'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:277: undefined reference to `gl_event_base_loopbreak'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:280: undefined reference to `gl_event_free'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:282: undefined reference to `gl_event_base_free'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(dc_tcp_comm.cpp.o): In function `graphlab::dc_impl::dc_tcp_comm::construct_events()':
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:183: undefined reference to `evthread_use_pthreads'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:186: undefined reference to `gl_event_base_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:192: undefined reference to `gl_event_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:195: undefined reference to `gl_event_add'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:196: undefined reference to `gl_event_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:199: undefined reference to `gl_event_base_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:206: undefined reference to `gl_event_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:212: undefined reference to `gl_event_new'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:217: undefined reference to `gl_event_add'
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:219: undefined reference to `gl_event_add'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(dc_tcp_comm.cpp.o): In function `graphlab::dc_impl::dc_tcp_comm::trigger_send_timeout(unsigned short, bool)':
/home/margot/share/PowerGraph-master/src/graphlab/rpc/dc_tcp_comm.cpp:236: undefined reference to `gl_event_active'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::create_dir(_zhandle*, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:98: undefined reference to `ZOO_OPEN_ACL_UNSAFE'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:98: undefined reference to `zoo_create'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::delete_dir(_zhandle*, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:107: undefined reference to `zoo_delete'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::create_ephemeral_node(_zhandle*, std::string const&, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:120: undefined reference to `ZOO_OPEN_ACL_UNSAFE'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:120: undefined reference to `ZOO_EPHEMERAL'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:120: undefined reference to `zoo_create'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::delete_node(_zhandle*, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:129: undefined reference to `zoo_delete'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::delete_sequence_node(_zhandle*, std::string const&, int, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:149: undefined reference to `zoo_delete'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::create_ephemeral_sequence_node(_zhandle*, std::string const&, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:164: undefined reference to `ZOO_SEQUENCE'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:164: undefined reference to `ZOO_EPHEMERAL'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:164: undefined reference to `ZOO_OPEN_ACL_UNSAFE'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:164: undefined reference to `zoo_create'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(zookeeper_common.cpp.o): In function `graphlab::zookeeper::get_node_value(_zhandle*, std::string const&, std::string const&)':
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:179: undefined reference to `zoo_get'
/home/margot/share/PowerGraph-master/src/graphlab/zookeeper/zookeeper_common.cpp:195: undefined reference to `zoo_get'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::options(boost::program_options::options_description const&)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:51: undefined reference to `boost::program_options::detail::cmdline::set_options_description(boost::program_options::options_description const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::positional(boost::program_options::positional_options_description const&)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:61: undefined reference to `boost::program_options::detail::cmdline::set_positional_options(boost::program_options::positional_options_description const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::allow_unregistered()':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:85: undefined reference to `boost::program_options::detail::cmdline::allow_unregistered()'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::variables_map::operator[](std::string const&) const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/variables_map.hpp:155: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::string const&) const'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `graphlab::graphlab_options::set_ncpus(unsigned long)':
/home/margot/share/PowerGraph-master/src/graphlab/options/graphlab_options.hpp:113: undefined reference to `omp_set_num_threads'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::typed_value<std::string, char>::xparse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&) const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:170: undefined reference to `boost::program_options::validate(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, std::string*, int)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::validation_error::validation_error(boost::program_options::validation_error::kind_t, std::string const&, std::string const&, int)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/errors.hpp:372: undefined reference to `boost::program_options::validation_error::get_template(boost::program_options::validation_error::kind_t)'
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/errors.hpp:372: undefined reference to `boost::program_options::error_with_option_name::error_with_option_name(std::string const&, std::string const&, std::string const&, int)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::typed_value<std::string, char>::name() const':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:19: undefined reference to `boost::program_options::arg'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `to_internal<std::basic_string<char> >':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::string const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::basic_command_line_parser(std::vector<std::string, std::allocator<std::string> > const&)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:33: undefined reference to `boost::program_options::detail::cmdline::cmdline(std::vector<std::string, std::allocator<std::string> > const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `to_internal<std::basic_string<char> >':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/convert.hpp:79: undefined reference to `boost::program_options::to_internal(std::string const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `boost::program_options::basic_command_line_parser<char>::run()':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:107: undefined reference to `boost::program_options::detail::cmdline::get_canonical_option_prefix()'
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/parsers.hpp:108: undefined reference to `boost::program_options::detail::cmdline::run()'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o): In function `void boost::program_options::validate<unsigned long, char>(boost::any&, std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, unsigned long*, long)':
/home/margot/share/PowerGraph-master/deps/local/include/boost/program_options/detail/value_semantic.hpp:92: undefined reference to `boost::program_options::invalid_option_value::invalid_option_value(std::string const&)'
/home/margot/share/PowerGraph-master/release/src/graphlab//libgraphlab.a(command_line_options.cpp.o):(.rodata._ZTVN5boost15program_options11typed_valueISscEE[_ZTVN5boost15program_options11typed_valueISscEE]+0x38): undefined reference to `boost::program_options::value_semantic_codecvt_helper<char>::parse(boost::any&, std::vector<std::string, std::allocator<std::string> > const&, bool) const'
collect2: error: ld returned 1 exit status
我该如何解决?
编辑:我更新了上面的mpic++
命令并更新了链接器错误。
不确定问题出在哪里。有什么建议吗?