Dear sir,<br>       While installing NFD on my computer, I met some problems.My OS is Ubuntu 16.04. The NFD and ndn-cxx have both been checkout to 0.5.1.<br>Here are my troubles that I met:<br>dtndn@dtndn-HP-Z240-SFF-Workstation:~/NFD$ ./waf<br>.......<br>.......<br>.......<br>[145/149] Linking build/bin/nfdc<br>[146/149] Linking build/bin/nfd-autoreg<br>[147/149] Linking build/bin/ndn-autoconfig-server<br>[148/149] Linking build/bin/ndn-autoconfig<br>tools/ndn-autoconfig/base.cpp.3.o: In function `ndn::tools::autoconfig::Base::connectToHub(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':<br>/home/dtndn/NFD/build/../tools/ndn-autoconfig/base.cpp:48: undefined reference to `ndn::util::FaceUri::canonize(std::function<void (ndn::util::FaceUri const&)> const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::asio::io_service&, boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&) const'<br>tools/ndn-autoconfig/multicast-discovery.cpp.3.o: In function `ndn::nfd::FaceStatus::FaceStatus(ndn::nfd::FaceStatus const&)':<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>collect2: error: ld returned 1 exit status<br><br>tools/nfdc/face-id-fetcher.cpp.5.o: In function `nfd::tools::nfdc::FaceIdFetcher::startGetFaceId(ndn::util::FaceUri const&)':<br>/home/dtndn/NFD/build/../tools/nfdc/face-id-fetcher.cpp:100: undefined reference to `ndn::util::FaceUri::canonize(std::function<void (ndn::util::FaceUri const&)> const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::asio::io_service&, boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&) const'<br>tools/nfdc/face-id-fetcher.cpp.5.o: In function `ndn::nfd::FaceStatus::~FaceStatus()':<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>tools/nfdc/face-module.cpp.5.o: In function `ndn::nfd::FaceStatus::FaceStatus(ndn::nfd::FaceStatus const&)':<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>tools/nfdc/legacy-nfdc.cpp.5.o: In function `nfd::tools::nfdc::LegacyNfdc::faceCreate()':<br>/home/dtndn/NFD/build/../tools/nfdc/legacy-nfdc.cpp:213: undefined reference to `ndn::util::FaceUri::canonize(std::function<void (ndn::util::FaceUri const&)> const&, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> const&, boost::asio::io_service&, boost::chrono::duration<long, boost::ratio<1l, 1000000000l> > const&) const'<br>collect2: error: ld returned 1 exit status<br><br>tools/nfd-autoreg.cpp.2.o: In function `ndn::nfd::FaceStatus::FaceStatus(ndn::nfd::FaceStatus const&)':<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-status.hpp:37: undefined reference to `vtable for ndn::nfd::FaceStatus'<br>tools/nfd-autoreg.cpp.2.o: In function `ndn::nfd::FaceEventNotification::~FaceEventNotification()':<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-event-notification.hpp:46: undefined reference to `vtable for ndn::nfd::FaceEventNotification'<br>/usr/local/include/ndn-cxx/mgmt/nfd/face-event-notification.hpp:46: undefined reference to `vtable for ndn::nfd::FaceEventNotification'<br>collect2: error: ld returned 1 exit status<br><br>Waf: Leaving directory `/home/dtndn/NFD/build'<br>Build failed<br> -> task in '../bin/ndn-autoconfig' failed (exit status 1): <br>    {task 140521076704016: cxxprogram main.cpp.4.o,base-dns.cpp.3.o,base.cpp.3.o,guess-from-identity-name.cpp.3.o,guess-from-search-domains.cpp.3.o,multicast-discovery.cpp.3.o,ndn-fch-discovery.cpp.3.o,city-hash.cpp.2.o,config-file.cpp.2.o,global-io.cpp.2.o,manager-base.cpp.2.o,network-interface-predicate.cpp.2.o,network-interface.cpp.2.o,network.cpp.2.o,privilege-helper.cpp.2.o,random.cpp.2.o,scheduler.cpp.2.o,logger-factory.cpp.2.o,logger.cpp.2.o -> ndn-autoconfig}<br>['/usr/bin/g++', '-pthread', '-pthread', '-pthread', 'tools/ndn-autoconfig/main.cpp.4.o', 'tools/ndn-autoconfig/base-dns.cpp.3.o', 'tools/ndn-autoconfig/base.cpp.3.o', 'tools/ndn-autoconfig/guess-from-identity-name.cpp.3.o', 'tools/ndn-autoconfig/guess-from-search-domains.cpp.3.o', 'tools/ndn-autoconfig/multicast-discovery.cpp.3.o', 'tools/ndn-autoconfig/ndn-fch-discovery.cpp.3.o', 'core/city-hash.cpp.2.o', 'core/config-file.cpp.2.o', 'core/global-io.cpp.2.o', 'core/manager-base.cpp.2.o', 'core/network-interface-predicate.cpp.2.o', 'core/network-interface.cpp.2.o', 'core/network.cpp.2.o', 'core/privilege-helper.cpp.2.o', 'core/random.cpp.2.o', 'core/scheduler.cpp.2.o', 'core/logger-factory.cpp.2.o', 'core/logger.cpp.2.o', '-o', '/home/dtndn/NFD/build/bin/ndn-autoconfig', '-Wl,-Bstatic', '-L/usr/lib/x86_64-linux-gnu', '-Wl,-Bdynamic', '-L/usr/local/lib', '-L/usr/lib/x86_64-linux-gnu', '-lndn-cxx', '-lboost_system', '-lboost_filesystem', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lcryptopp', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread', '-lboost_system', '-lboost_chrono', '-lboost_program_options', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lrt', '-lresolv']<br> -> task in '../bin/nfdc' failed (exit status 1): <br>    {task 140521076707024: cxxprogram main.cpp.6.o,available-commands.cpp.5.o,channel-module.cpp.5.o,command-definition.cpp.5.o,command-parser.cpp.5.o,face-id-fetcher.cpp.5.o,face-module.cpp.5.o,fib-module.cpp.5.o,format-helpers.cpp.5.o,forwarder-general-module.cpp.5.o,help.cpp.5.o,legacy-nfdc.cpp.5.o,legacy-status.cpp.5.o,rib-module.cpp.5.o,status-report.cpp.5.o,status.cpp.5.o,strategy-choice-module.cpp.5.o,city-hash.cpp.2.o,config-file.cpp.2.o,global-io.cpp.2.o,manager-base.cpp.2.o,network-interface-predicate.cpp.2.o,network-interface.cpp.2.o,network.cpp.2.o,privilege-helper.cpp.2.o,random.cpp.2.o,scheduler.cpp.2.o,logger-factory.cpp.2.o,logger.cpp.2.o -> nfdc}<br>['/usr/bin/g++', '-pthread', '-pthread', '-pthread', 'tools/nfdc/main.cpp.6.o', 'tools/nfdc/available-commands.cpp.5.o', 'tools/nfdc/channel-module.cpp.5.o', 'tools/nfdc/command-definition.cpp.5.o', 'tools/nfdc/command-parser.cpp.5.o', 'tools/nfdc/face-id-fetcher.cpp.5.o', 'tools/nfdc/face-module.cpp.5.o', 'tools/nfdc/fib-module.cpp.5.o', 'tools/nfdc/format-helpers.cpp.5.o', 'tools/nfdc/forwarder-general-module.cpp.5.o', 'tools/nfdc/help.cpp.5.o', 'tools/nfdc/legacy-nfdc.cpp.5.o', 'tools/nfdc/legacy-status.cpp.5.o', 'tools/nfdc/rib-module.cpp.5.o', 'tools/nfdc/status-report.cpp.5.o', 'tools/nfdc/status.cpp.5.o', 'tools/nfdc/strategy-choice-module.cpp.5.o', 'core/city-hash.cpp.2.o', 'core/config-file.cpp.2.o', 'core/global-io.cpp.2.o', 'core/manager-base.cpp.2.o', 'core/network-interface-predicate.cpp.2.o', 'core/network-interface.cpp.2.o', 'core/network.cpp.2.o', 'core/privilege-helper.cpp.2.o', 'core/random.cpp.2.o', 'core/scheduler.cpp.2.o', 'core/logger-factory.cpp.2.o', 'core/logger.cpp.2.o', '-o', '/home/dtndn/NFD/build/bin/nfdc', '-Wl,-Bstatic', '-L/usr/lib/x86_64-linux-gnu', '-Wl,-Bdynamic', '-L/usr/local/lib', '-L/usr/lib/x86_64-linux-gnu', '-lndn-cxx', '-lboost_system', '-lboost_filesystem', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lcryptopp', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread', '-lboost_system', '-lboost_chrono', '-lboost_program_options', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lrt', '-lresolv']<br> -> task in '../bin/nfd-autoreg' failed (exit status 1): <br>    {task 140521076641552: cxxprogram nfd-autoreg.cpp.2.o,city-hash.cpp.2.o,config-file.cpp.2.o,global-io.cpp.2.o,manager-base.cpp.2.o,network-interface-predicate.cpp.2.o,network-interface.cpp.2.o,network.cpp.2.o,privilege-helper.cpp.2.o,random.cpp.2.o,scheduler.cpp.2.o,logger-factory.cpp.2.o,logger.cpp.2.o -> nfd-autoreg}<br>['/usr/bin/g++', '-pthread', '-pthread', '-pthread', 'tools/nfd-autoreg.cpp.2.o', 'core/city-hash.cpp.2.o', 'core/config-file.cpp.2.o', 'core/global-io.cpp.2.o', 'core/manager-base.cpp.2.o', 'core/network-interface-predicate.cpp.2.o', 'core/network-interface.cpp.2.o', 'core/network.cpp.2.o', 'core/privilege-helper.cpp.2.o', 'core/random.cpp.2.o', 'core/scheduler.cpp.2.o', 'core/logger-factory.cpp.2.o', 'core/logger.cpp.2.o', '-o', '/home/dtndn/NFD/build/bin/nfd-autoreg', '-Wl,-Bstatic', '-L/usr/lib/x86_64-linux-gnu', '-Wl,-Bdynamic', '-L/usr/local/lib', '-L/usr/lib/x86_64-linux-gnu', '-lndn-cxx', '-lboost_system', '-lboost_filesystem', '-lboost_date_time', '-lboost_iostreams', '-lboost_regex', '-lboost_program_options', '-lboost_chrono', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lcryptopp', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread', '-lboost_system', '-lboost_chrono', '-lboost_program_options', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lrt', '-lresolv']<br><img src="cid:A92C7C4A@0CB6E46E.E3256259.png" filesize="379606" style="width: 1350px; height: 789px;" modifysize="57%" diffpixels="10px" scalingmode="zoom"><br>Best regards.<br>An Xuming<br>1952590139@qq.com<br>