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

Junxiao Shi shijunxiao at email.arizona.edu
Mon Aug 3 17:18:55 PDT 2020


Hi Pawan

If you installed ns-3 and ndnSIM many years ago in this directory, the
directory may contain old binaries that you executed in step 1 and step 3.
You upgraded one or more packages before the first step, but the old
binaries are still being executed.
In step 4 you modified the scenario script, causing waf to recompile, which
fails.

You can check the versions by executing this command in ns-3/src/ndnSIM
directory:
git submodule foreach git log -1

Yours, Junxiao

On Mon, Aug 3, 2020, 20:03 Pawan Subedi <psubedi at crimson.ua.edu> wrote:

> *External Email*
> Dear Junxiao,
>
> Thank you for your reply, but sadly both the statements are correct. Here
> are details on what happened actually:
> 1. I ran our previous scenario, and I was able to get the results
> (including the trace files) as expected.
> 2. I then copied the .cc file from the scratch folder. I tried running the
> scenario, this time with this copied file. I got the error messages that I
> sent in my email.
> 3. I then deleted the copied file and ran the original file. To my
> surprise, I was able to get the results as expected. I have the results
> file from 12:46 PM today.
> 4. I then added a single line (an empty line) to this .cc file, saved it
> and tried running the scenario. I again got the errors. I then tried
> removing the line, it didn't help and I kept getting the error messages.
> 5. I then ran ./waf configure. I have ever since not been able to run the
> scenario.
>
> I haven't upgraded or downgraded any of the packages throughout the steps
> I have mentioned above.
>
> How can I check the version of ndnSim, NFD, and ndn-cxx from my installed
> files?
>
> Thank you!
>
> Sincerely,
> Pawan Subedi
>
>
> On Mon, Aug 3, 2020 at 3:55 PM Spyridon Mastorakis <
> smastorakis at unomaha.edu> wrote:
>
>> 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> 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>
>> 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
>>
>> 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/cc2805c0/attachment-0001.html>


More information about the ndnSIM mailing list