[ndnSIM] [EXT] Error running a scenario after making a change

Spyridon Mastorakis smastorakis at unomaha.edu
Mon Aug 3 13:55:06 PDT 2020


Right.

LocalControlHeader was deleted from ndn-cxx a few years back if I remember correctly.

Spyridon (Spyros) Mastorakis
Assistant Professor
Computer Science Department
University of Nebraska, Omaha
Peter Kiewit Institute Room 175A
https://sites.google.com/site/spyridonmastorakis

On Aug 3, 2020, at 3:52 PM, Junxiao Shi via ndnSIM <ndnsim at lists.cs.ucla.edu<mailto:ndnsim at lists.cs.ucla.edu>> wrote:

Hi Pawan

Either "added a single line to the .cc file in the scratch folder" or "Our complete setup was working without any issues before adding this line" is false.
Did you perform any of the following actions?

  *   Upgrade or downgrade ndnSIM (e.g. git pull)
  *   Upgrade or downgrade the scenario template
  *   Upgrade or downgrade the ndn-cxx or NFD submodules

Most likely, one of the above is not ndnSIM v2.0, but a later version.
"LocalControlHeader" is present in ndnSIM v2.0 (released 5 years ago), but deleted in later versions.

Yours, Junxiao

On Mon, Aug 3, 2020 at 2:48 PM Pawan Subedi <psubedi at crimson.ua.edu<mailto:psubedi at crimson.ua.edu>> wrote:

External Email

Dear ndnSim team,

My research group had a scenario using ndnSim2.0 and it was running all good. I made a simple change to the scenario (added a single line to the .cc file in the scratch folder) and now when I try to run the scenario, it throws errors. Our complete setup was working without any issues before adding this line. Here are the error messages and I am not sure why a previously working system is throwing these errors.
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:90:43: error: ‘LocalControlHeader’ in namespace ‘ndn::nfd’ does not name a type
   isEmptyFilteredLocalControlHeader(const ndn::nfd::LocalControlHeader& header) const;
                                           ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:90:73: error: ISO C++ forbids declaration of ‘header’ with no type [-fpermissive]
   isEmptyFilteredLocalControlHeader(const ndn::nfd::LocalControlHeader& header) const;
                                                                         ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp: In member function ‘bool nfd::LocalFace::decodeAndDispatchInput(const ndn::Block&)’:
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:142:38: error: ‘ndn::nfd::LocalControlHeader’ has not been declared
     const Block& payload = ndn::nfd::LocalControlHeader::getPayload(element);
                                      ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:156:33: error: ‘ndn::nfd::LocalControlHeader’ has not been declared
               mask |= ndn::nfd::LocalControlHeader::ENCODE_NEXT_HOP;
                                 ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:158:16: error: ‘class ndn::Interest’ has no member named ‘getLocalControlHeader’
             i->getLocalControlHeader().wireDecode(element, mask);
                ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp: At global scope:
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:192:52: error: ‘LocalControlHeader’ in namespace ‘ndn::nfd’ does not name a type
 LocalFace::isEmptyFilteredLocalControlHeader(const ndn::nfd::LocalControlHeader& header) const
                                                    ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:192:82: error: ISO C++ forbids declaration of ‘header’ with no type [-fpermissive]
 LocalFace::isEmptyFilteredLocalControlHeader(const ndn::nfd::LocalControlHeader& header) const
                                                                                  ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp: In member function ‘bool nfd::LocalFace::isEmptyFilteredLocalControlHeader(const int&) const’:
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:199:23: error: ‘ndn::nfd::LocalControlHeader’ has not been declared
     mask |= ndn::nfd::LocalControlHeader::ENCODE_INCOMING_FACE_ID;
                       ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:201:17: error: request for member ‘empty’ in ‘header’, which is of non-class type ‘const int’
   return header.empty(mask);
                 ^
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp: In member function ‘ndn::Block nfd::LocalFace::filterAndEncodeLocalControlHeader(const Packet&)’:
./ns3/ndnSIM/NFD/daemon/face/local-face.hpp:210:23: error: ‘ndn::nfd::LocalControlHeader’ has not been declared
     mask |= ndn::nfd::LocalControlHeader::ENCODE_INCOMING_FACE_ID;

I tried recompiling the project with ./waf configure and still, the error exists.

Thank you!

Sincerely,
Pawan Subedi

_______________________________________________
ndnSIM mailing list
ndnSIM at lists.cs.ucla.edu<mailto:ndnSIM at lists.cs.ucla.edu>
https://urldefense.proofpoint.com/v2/url?u=http-3A__www.lists.cs.ucla.edu_mailman_listinfo_ndnsim&d=DwICAg&c=Cu5g146wZdoqVuKpTNsYHeFX_rg6kWhlkLF8Eft-wwo&r=eI5Bh74ovG-uIXQ5ksQETSPgRFzmJXjIZXneCqw580E&m=_G0OeNKO6Qc4xPFFgFAg3zwvmp5FSt5WYNaQtTBIFt4&s=EfnyI2v7Akk6pmp7SZnpIh9F5RLvO9eCcKbbZJesZ78&e=

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20200803/896dd9ae/attachment-0001.html>


More information about the ndnSIM mailing list