[Nfd-dev] ndn-tools build error

Alex Afanasyev alexander.afanasyev at ucla.edu
Thu Oct 1 11:05:28 PDT 2015


Hi Spencer,

From what I understand, you're using ndn-cxx version 0.2.0 which is missing many new features needed by ndn-tools.  You need to use a more recent version (either master branch, beta1, or previous release) of ndn-cxx library in order for the code to be compilable.

---
Alex

> On Oct 1, 2015, at 9:48 AM, Spencer Lee <spencerlee at email.arizona.edu <mailto:spencerlee at email.arizona.edu>> wrote:
> 
> Sorry - the error message is:
> 
> spen at spen-virtual-machine:~/NDN/ndn-tools$ ./waf
> Waf: Entering directory `/home/spen/NDN/ndn-tools/build'
> [ 3/40] Compiling core/version.cpp
> [ 3/40] Compiling tools/peek/ndn-peek.cpp
> [ 3/40] Compiling tools/peek/ndn-poke.cpp
> [ 4/40] Compiling tools/dump/ndndump.cpp
> ../tools/dump/ndndump.cpp: In member function ‘void ndn::dump::Ndndump::onCapturedPacket(const pcap_pkthdr*, const uint8_t*)’:
> ../tools/dump/ndndump.cpp:163:65: error: no matching function for call to ‘ndn::Block::fromBuffer(const uint8_t*&, ssize_t&)’
>    std::tie(isOk, block) = Block::fromBuffer(payload, payloadSize);
>                                                                  ^
> ../tools/dump/ndndump.cpp:163:65: note: candidates are:
> In file included from /usr/local/include/ndn-cxx/name-component.hpp:30:0,
>                  from /usr/local/include/ndn-cxx/name.hpp:30,
>                  from ../tools/dump/ndndump.hpp:42,
>                  from ../tools/dump/ndndump.cpp:37:
> /usr/local/include/ndn-cxx/encoding/block.hpp:160:3: note: static bool ndn::Block::fromBuffer(const ConstBufferPtr&, size_t, ndn::Block&)
>    fromBuffer(const ConstBufferPtr& wire, size_t offset, Block& block);
>    ^
> /usr/local/include/ndn-cxx/encoding/block.hpp:160:3: note:   candidate expects 3 arguments, 2 provided
> /usr/local/include/ndn-cxx/encoding/block.hpp:170:3: note: static bool ndn::Block::fromBuffer(const uint8_t*, size_t, ndn::Block&)
>    fromBuffer(const uint8_t* buffer, size_t maxSize, Block& block);
>    ^
> /usr/local/include/ndn-cxx/encoding/block.hpp:170:3: note:   candidate expects 3 arguments, 2 provided
> 
> In file included from /usr/include/ndn-cxx/util/signal.hpp:25:0,
>                  from /home/spen/NDN/ndn-tools/core/common.hpp:68,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/include/ndn-cxx/util/signal-signal.hpp:108:4: error: #error "cannot declare Owner as friend"
>  #  error "cannot declare Owner as friend"
>     ^
> ../tools/peek/ndn-poke.cpp: In member function ‘boost::shared_ptr<ndn::Data> ndn::peek::NdnPoke::createDataPacket()’:
> ../tools/peek/ndn-poke.cpp:168:55: error: no matching function for call to ‘ndn::KeyChain::sign(ndn::Data&, ndn::security::SigningInfo)’
>        m_keyChain.sign(*dataPacket, signingWithSha256());
>                                                        ^
> ../tools/peek/ndn-poke.cpp:168:55: note: candidates are:
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:179:3: note: template<class T> void ndn::KeyChain::sign(T&)
>    sign(T& packet);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:179:3: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:168:55: note:   candidate expects 1 argument, 2 provided
>        m_keyChain.sign(*dataPacket, signingWithSha256());
>                                                        ^
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:190:3: note: template<class T> void ndn::KeyChain::sign(T&, const ndn::Name&)
>    sign(T& packet, const Name& certificateName);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:190:3: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:168:55: note:   cannot convert ‘ndn::security::signingWithSha256()()’ (type ‘ndn::security::SigningInfo’) to type ‘const ndn::Name&’
>        m_keyChain.sign(*dataPacket, signingWithSha256());
>                                                        ^
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:202:3: note: ndn::Signature ndn::KeyChain::sign(const uint8_t*, size_t, const ndn::Name&)
>    sign(const uint8_t* buffer, size_t bufferLength, const Name& certificateName);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:202:3: note:   candidate expects 3 arguments, 2 provided
> /usr/local/include/ndn-cxx/security/key-chain.hpp:664:3: note: template<class T> void ndn::KeyChain::sign(T&, const ndn::IdentityCertificate&)
>    sign(T& packet, const IdentityCertificate& certificate);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:664:3: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:168:55: note:   cannot convert ‘ndn::security::signingWithSha256()()’ (type ‘ndn::security::SigningInfo’) to type ‘const ndn::IdentityCertificate&’
>        m_keyChain.sign(*dataPacket, signingWithSha256());
>                                                        ^
> ../tools/peek/ndn-poke.cpp:175:72: error: no matching function for call to ‘ndn::KeyChain::sign(ndn::Data&, ndn::security::SigningInfo)’
>          m_keyChain.sign(*dataPacket, signingByIdentity(*m_identityName));
>                                                                         ^
> ../tools/peek/ndn-poke.cpp:175:72: note: candidates are:
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:736:1: note: template<class T> void ndn::KeyChain::sign(T&)
>  KeyChain::sign(T& packet)
>  ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:736:1: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:175:72: note:   candidate expects 1 argument, 2 provided
>          m_keyChain.sign(*dataPacket, signingByIdentity(*m_identityName));
>                                                                         ^
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:190:3: note: template<class T> void ndn::KeyChain::sign(T&, const ndn::Name&)
>    sign(T& packet, const Name& certificateName);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:190:3: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:175:72: note:   cannot convert ‘ndn::security::signingByIdentity(const ndn::Name&)()’ (type ‘ndn::security::SigningInfo’) to type ‘const ndn::Name&’
>          m_keyChain.sign(*dataPacket, signingByIdentity(*m_identityName));
>                                                                         ^
> In file included from /home/spen/NDN/ndn-tools/core/common.hpp:63:0,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-poke.cpp:51:
> /usr/local/include/ndn-cxx/security/key-chain.hpp:202:3: note: ndn::Signature ndn::KeyChain::sign(const uint8_t*, size_t, const ndn::Name&)
>    sign(const uint8_t* buffer, size_t bufferLength, const Name& certificateName);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:202:3: note:   candidate expects 3 arguments, 2 provided
> /usr/local/include/ndn-cxx/security/key-chain.hpp:664:3: note: template<class T> void ndn::KeyChain::sign(T&, const ndn::IdentityCertificate&)
>    sign(T& packet, const IdentityCertificate& certificate);
>    ^
> /usr/local/include/ndn-cxx/security/key-chain.hpp:664:3: note:   template argument deduction/substitution failed:
> ../tools/peek/ndn-poke.cpp:175:72: note:   cannot convert ‘ndn::security::signingByIdentity(const ndn::Name&)()’ (type ‘ndn::security::SigningInfo’) to type ‘const ndn::IdentityCertificate&’
>          m_keyChain.sign(*dataPacket, signingByIdentity(*m_identityName));
>                                                                         ^
> 
> In file included from /usr/include/ndn-cxx/util/signal.hpp:25:0,
>                  from /home/spen/NDN/ndn-tools/core/common.hpp:68,
>                  from /home/spen/NDN/ndn-tools/core/version.hpp:23,
>                  from ../tools/peek/ndn-peek.cpp:51:
> /usr/include/ndn-cxx/util/signal-signal.hpp:108:4: error: #error "cannot declare Owner as friend"
>  #  error "cannot declare Owner as friend"
>     ^
> 
> In file included from /usr/include/ndn-cxx/util/signal.hpp:25:0,
>                  from ../core/common.hpp:68,
>                  from ../core/version.hpp:23,
>                  from ../core/version.cpp:20:
> /usr/include/ndn-cxx/util/signal-signal.hpp:108:4: error: #error "cannot declare Owner as friend"
>  #  error "cannot declare Owner as friend"
>     ^
> 
> Waf: Leaving directory `/home/spen/NDN/ndn-tools/build'
> Build failed
>  -> task in 'dump-objects' failed (exit status 1):
> 	{task 140390751412688: cxx ndndump.cpp -> ndndump.cpp.1.o}
> ['/usr/bin/g++', '-pedantic', '-Wall', '-O2', '-g', '-std=c++11', '-I/home/spen/NDN/ndn-tools/build/tools/dump', '-I/home/spen/NDN/ndn-tools/tools/dump', '-I/home/spen/NDN/ndn-tools/build', '-I/home/spen/NDN/ndn-tools', '-I/usr/include', '-DNDEBUG', '-DHAVE_INTTYPES_H=1', '-DHAVE_STDINT_H=1', '-DHAVE_SYS_BITYPES_H=1', '-DHAVE_SYS_TYPES_H=1', '-DHAVE_NDN_CXX=1', '-DHAVE_PCAP=1', '../tools/dump/ndndump.cpp', '-c', '-o', '/home/spen/NDN/ndn-tools/build/tools/dump/ndndump.cpp.1.o']
>  -> task in '../../bin/ndnpoke' failed (exit status 1):
> 	{task 140390751412944: cxx ndn-poke.cpp -> ndn-poke.cpp.2.o}
> ['/usr/bin/g++', '-pedantic', '-Wall', '-O2', '-g', '-std=c++11', '-I/home/spen/NDN/ndn-tools/build', '-I/home/spen/NDN/ndn-tools', '-I/usr/include', '-DNDEBUG', '-DHAVE_INTTYPES_H=1', '-DHAVE_STDINT_H=1', '-DHAVE_SYS_BITYPES_H=1', '-DHAVE_SYS_TYPES_H=1', '-DHAVE_NDN_CXX=1', '../tools/peek/ndn-poke.cpp', '-c', '-o', '/home/spen/NDN/ndn-tools/build/tools/peek/ndn-poke.cpp.2.o']
>  -> task in '../../bin/ndnpeek' failed (exit status 1):
> 	{task 140390751402576: cxx ndn-peek.cpp -> ndn-peek.cpp.1.o}
> ['/usr/bin/g++', '-pedantic', '-Wall', '-O2', '-g', '-std=c++11', '-I/home/spen/NDN/ndn-tools/build', '-I/home/spen/NDN/ndn-tools', '-I/usr/include', '-DNDEBUG', '-DHAVE_INTTYPES_H=1', '-DHAVE_STDINT_H=1', '-DHAVE_SYS_BITYPES_H=1', '-DHAVE_SYS_TYPES_H=1', '-DHAVE_NDN_CXX=1', '../tools/peek/ndn-peek.cpp', '-c', '-o', '/home/spen/NDN/ndn-tools/build/tools/peek/ndn-peek.cpp.1.o']
>  -> task in 'core-objects' failed (exit status 1):
> 	{task 140390751796496: cxx version.cpp -> version.cpp.1.o}
> ['/usr/bin/g++', '-pedantic', '-Wall', '-O2', '-g', '-std=c++11', '-I/usr/include', '-DNDEBUG', '-DHAVE_INTTYPES_H=1', '-DHAVE_STDINT_H=1', '-DHAVE_SYS_BITYPES_H=1', '-DHAVE_SYS_TYPES_H=1', '-DHAVE_NDN_CXX=1', '../core/version.cpp', '-c', '-o', '/home/spen/NDN/ndn-tools/build/core/version.cpp.1.o']
> 
> On Thu, Oct 1, 2015 at 8:57 AM, Alex Afanasyev <alexander.afanasyev at ucla.edu <mailto:alexander.afanasyev at ucla.edu>> wrote:
> Hi Spencer,
> 
> Would you mind copying/pasting the error message?
> 
> ---
> Alex
> 
> > On Oct 1, 2015, at 8:10 AM, Spencer Lee <spencerlee at email.arizona.edu <mailto:spencerlee at email.arizona.edu>> wrote:
> >
> > Hi,
> >
> > If anyone gets a chance to respond,
> > I was wondering if anyone has received the same build errors and has a solution:
> >
> > I received build errors when trying to compile ndn-tools on the way to installation - using ./waf
> > I was wondering if similar issues have been found before,
> > compile fails when trying ndndump. Deprecated repositories for ndndump and ndn-tlv-ping also gave build errors when trying to ./waf
> >
> > I am using a vm of Ubuntu 14.04.3
> > gcc version is 4.8.4
> > NFD and ndn-cxx seemed to have installed fine,
> > last git commit hashes for NFD, ndn-cxx and ndn-tools are 62a939, ec0499 and ef1e27, respectively.
> >
> > Thank you very much,
> > Spencer Lee
> >
> >
> > _______________________________________________
> > Nfd-dev mailing list
> > Nfd-dev at lists.cs.ucla.edu <mailto:Nfd-dev at lists.cs.ucla.edu>
> > http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev <http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev>
> 
> _______________________________________________
> Nfd-dev mailing list
> Nfd-dev at lists.cs.ucla.edu <mailto:Nfd-dev at lists.cs.ucla.edu>
> http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev <http://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20151001/c16f0647/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20151001/c16f0647/attachment.bin>


More information about the Nfd-dev mailing list