[Nfd-dev] error building NFD-0.6.0

Nicholas Gordon nmgordon at memphis.edu
Fri Jan 26 10:22:22 PST 2018


Peter,

Usually I see things like this when I change major versions of ndn-cxx
without deleting the old includes -- it tends to confuse the linker. My
advice would be to delete `/usr/local/include/ndn-cxx` (or wherever
they are on your platform), re-build and re-install ndn-cxx, then try
building NFD.

-- 
-Nick

On Fri, 26 Jan 2018 13:02:07 +0000
"Gusev, Peter" <peter at remap.ucla.edu> wrote:

> Hi devs,
> 
> Weird thing - I can’t compile latest NFD (tags NFD-0.6.0, ndn-cxx-0.6.0) on ubuntu 16.04, getting these errors:
> 
> ...
> [152/157] Compiling core/network.cpp
> [153/157] Linking build/bin/nfd-autoreg
> [154/157] Linking build/bin/ndn-autoconfig-server
> ../tools/ndn-autoconfig-server/program.hpp:38: error: undefined reference to 'ndn::FaceUri::FaceUri()'
> ../tools/ndn-autoconfig-server/main.cpp:77: error: undefined reference to 'ndn::FaceUri::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../tools/ndn-autoconfig-server/program.cpp:56: error: undefined reference to 'ndn::FaceUri::toString[abi:cxx11]() const'
> ../tools/ndn-autoconfig-server/program.cpp:67: error: undefined reference to 'ndn::Face::put(ndn::Data)'
> ../tools/ndn-autoconfig-server/program.cpp:45: error: undefined reference to 'ndn::mgmt::Dispatcher::Dispatcher(ndn::Face&, ndn::security::v2::KeyChain&, ndn::security::SigningInfo const&, unsigned long)'
> ../core/manager-base.cpp:63: error: undefined reference to 'ndn::Name::at(long) const'
> ../core/network-interface-predicate.cpp:68: error: undefined reference to 'ndn::ethernet::Address::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network-interface-predicate.cpp:68: error: undefined reference to 'ndn::ethernet::Address::isNull() const'
> ../core/network-interface-predicate.cpp:121: error: undefined reference to 'ndn::ethernet::Address::toString[abi:cxx11](char) const'
> ../core/network.cpp:113: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network.cpp:109: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network.cpp:110: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/scheduler.cpp:49: error: undefined reference to 'ndn::util::scheduler::Scheduler::scheduleEvent(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> >, std::function<void ()> const&)'
> collect2: error: ld returned 1 exit status
> 
> ../tools/nfd-autoreg.cpp:127: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)'
> ../tools/nfd-autoreg.cpp:149: error: undefined reference to 'ndn::FaceUri::FaceUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../tools/nfd-autoreg.cpp:127: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::system::error_code&)'
> ../tools/nfd-autoreg.cpp:213: error: undefined reference to 'ndn::FaceUri::FaceUri(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> /usr/local/include/ndn-cxx/mgmt/nfd/controller.hpp:68: error: undefined reference to 'ndn::security::v2::getAcceptAllValidator()'
> ../tools/nfd-autoreg.cpp:56: error: undefined reference to 'ndn::nfd::Controller::Controller(ndn::Face&, ndn::security::v2::KeyChain&, ndn::security::v2::Validator&)'
> /usr/local/include/ndn-cxx/face.hpp:459: error: undefined reference to 'ndn::Face::doProcessEvents(boost::chrono::duration<long, boost::ratio<1l, 1000l> >, bool)'
> ../core/manager-base.cpp:63: error: undefined reference to 'ndn::Name::at(long) const'
> ../core/network-interface-predicate.cpp:68: error: undefined reference to 'ndn::ethernet::Address::fromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network-interface-predicate.cpp:68: error: undefined reference to 'ndn::ethernet::Address::isNull() const'
> ../core/network-interface-predicate.cpp:121: error: undefined reference to 'ndn::ethernet::Address::toString[abi:cxx11](char) const'
> ../core/network.cpp:113: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network.cpp:109: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/network.cpp:110: error: undefined reference to 'ndn::ip::addressFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
> ../core/scheduler.cpp:49: error: undefined reference to 'ndn::util::scheduler::Scheduler::scheduleEvent(boost::chrono::duration<long, boost::ratio<1l, 1000000000l> >, std::function<void ()> const&)'
> collect2: error: ld returned 1 exit status
> 
> Waf: Leaving directory `/home/peter/NFD/build'
> Build failed
>  -> task in '../bin/ndn-autoconfig-server' failed (exit status 1):
> {task 140185184891600: cxxprogram main.cpp.5.o,program.cpp.4.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.cpp.2.o,privilege-helper.cpp.2.o,random.cpp.2.o,rtt-estimator.cpp.2.o,scheduler.cpp.2.o,logger-factory.cpp.2.o,logger.cpp.2.o -> ndn-autoconfig-server}
> ['/usr/bin/g++', '-fuse-ld=gold', '-Wl,-O1', '-pthread', '-pthread', '-pthread', 'tools/ndn-autoconfig-server/main.cpp.5.o', 'tools/ndn-autoconfig-server/program.cpp.4.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.cpp.2.o', 'core/privilege-helper.cpp.2.o', 'core/random.cpp.2.o', 'core/rtt-estimator.cpp.2.o', 'core/scheduler.cpp.2.o', 'core/logger-factory.cpp.2.o', 'core/logger.cpp.2.o', '-o', '/home/peter/NFD/build/bin/ndn-autoconfig-server', '-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', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread', '-lboost_system', '-lboost_chrono', '-lboos
 t_program_options', '-lboost_thread', '-lboost_log', '-lboost_log_setup', '-lrt', '-lresolv']
>  -> task in '../bin/nfd-autoreg' failed (exit status 1):
> {task 140185184840912: cxxprogram nfd-autoreg.cpp.1.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.cpp.2.o,privilege-helper.cpp.2.o,random.cpp.2.o,rtt-estimator.cpp.2.o,scheduler.cpp.2.o,logger-factory.cpp.2.o,logger.cpp.2.o -> nfd-autoreg}
> ['/usr/bin/g++', '-fuse-ld=gold', '-Wl,-O1', '-pthread', '-pthread', '-pthread', 'tools/nfd-autoreg.cpp.1.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.cpp.2.o', 'core/privilege-helper.cpp.2.o', 'core/random.cpp.2.o', 'core/rtt-estimator.cpp.2.o', 'core/scheduler.cpp.2.o', 'core/logger-factory.cpp.2.o', 'core/logger.cpp.2.o', '-o', '/home/peter/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', '-lssl', '-lcrypto', '-lsqlite3', '-lrt', '-lpthread', '-lboost_system', '-lboost_chrono', '-lboost_program_options', '-lboost_thread', '-lboost_log', '-lboost_log_setup'
 , '-lrt', '-lresolv']
> 
> 
> Not exactly sure why is that. Probably something got skewed while removing previous NFD/ndn-cxx and the fix is easy. Insights are appreciated.
> 
> Thanks,
> 
> 
> 
> --
> Peter Gusev
> 
> peter at remap.ucla.edu<mailto:peter at remap.ucla.edu>
> +1 213 5872748
> 
> Research Scholar @ REMAP UCLA<http://remap.ucla.edu/>
> Video streaming/ICN networks/Creative Development
> 


More information about the Nfd-dev mailing list