[ndnSIM] Issue Running ndnSIM-NLSR

Sirapop Theeranantachai sirapop741 at gmail.com
Tue Dec 3 21:55:47 PST 2024


Hi Albatool,

According to the command history

git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3


This one clones a patched version of ns-3.35 (used by ndnSIM 2.9), which is
not compatible with a patched version of ns-3.2x (used by ndnSIM 2.1)

‘m_nodes’ has incomplete type ‘ns3::NodeContainer’
>    NodeContainer m_nodes;



Something you may try:
1. Checkout ndnSIM-v2.x from https://github.com/named-data-ndnSIM/ns-3-dev
like you did with ndn-cxx and NFD. Try ones closer to 2.1 first, then see
which one works best.
2. Upgrade Ubuntu and port ndnSIM/NSLR to v3.35. This will require a
significant refactoring effort.

Wish you best of luck!
Mark

On Tue, Dec 3, 2024 at 9:35 PM Albatool <batool0haw at gmail.com> wrote:

> Hello,
>
> Thank you for your suggestion however ndnSIM NLSR uses ndnSIM 2.0, which
> is said to be compatible with Ubuntu 12.04, 14.04, and 16.04. Given this,
> do you think Ubuntu 20.04 would still be a good option for compiling these
> libraries?
>
> On Wed, Dec 4, 2024, 7:30 AM Sirapop Theeranantachai <sirapop741 at gmail.com>
> wrote:
>
>> Hello,
>>
>> Could you try Ubuntu 20.04? The versions you mentioned would have little
>> luck compiling these libraries.
>>
>>
>> On Tue, Dec 3, 2024, 8:27 PM Albatool via ndnSIM <
>> ndnsim at lists.cs.ucla.edu> wrote:
>>
>>>   Hello,
>>>
>>> I am trying to run ndnSIM-NLSR and so far I was able to configure
>>> ndnSIM-NLSR successfully. However, when I try to run ndnSIM using ./waf, I
>>> get the following error in all Ubuntu versions 14.04, 16.04, and 18.04:
>>>
>>> [2400/3287] Compiling src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp
>>>> [2401/3287] Compiling
>>>> src/ndnSIM/ndn-cxx/src/management/nfd-strategy-choice.cpp
>>>> [2402/3287] Compiling
>>>> src/ndnSIM/NFD/daemon/table/cs-policy-priority-fifo.cpp
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:25:0,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:
>>>> ../src/ndnSIM/utils/topology/annotated-topology-reader.hpp:136:17:
>>>> error: field ‘m_nodes’ has incomplete type ‘ns3::NodeContainer’
>>>>    NodeContainer m_nodes;
>>>>                  ^~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/annotated-topology-reader.hpp:25:0,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:25,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:
>>>> ./ns3/topology-reader.h:41:7: note: forward declaration of ‘class
>>>> ns3::NodeContainer’
>>>>  class NodeContainer;
>>>>        ^~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:0:
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:151:17: error:
>>>> field ‘m_backboneRouters’ has incomplete type ‘ns3::NodeContainer’
>>>>    NodeContainer m_backboneRouters;
>>>>                  ^~~~~~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/annotated-topology-reader.hpp:25:0,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:25,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:
>>>> ./ns3/topology-reader.h:41:7: note: forward declaration of ‘class
>>>> ns3::NodeContainer’
>>>>  class NodeContainer;
>>>>        ^~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:0:
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:152:17: error:
>>>> field ‘m_gatewayRouters’ has incomplete type ‘ns3::NodeContainer’
>>>>    NodeContainer m_gatewayRouters;
>>>>                  ^~~~~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/annotated-topology-reader.hpp:25:0,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:25,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:
>>>> ./ns3/topology-reader.h:41:7: note: forward declaration of ‘class
>>>> ns3::NodeContainer’
>>>>  class NodeContainer;
>>>>        ^~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:0:
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:153:17: error:
>>>> field ‘m_customerRouters’ has incomplete type ‘ns3::NodeContainer’
>>>>    NodeContainer m_customerRouters;
>>>>                  ^~~~~~~~~~~~~~~~~
>>>> In file included from
>>>> ../src/ndnSIM/utils/topology/annotated-topology-reader.hpp:25:0,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.hpp:25,
>>>>                  from
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:22:
>>>> ./ns3/topology-reader.h:41:7: note: forward declaration of ‘class
>>>> ns3::NodeContainer’
>>>>  class NodeContainer;
>>>>        ^~~~~~~~~~~~~
>>>> ../src/ndnSIM/utils/topology/rocketfuel-map-reader.cpp:484:1: warning:
>>>> ‘void ns3::nodeWriter(std::ostream&, ns3::NodeContainer&)’ defined but not
>>>> used [-Wunused-function]
>>>>  nodeWriter(std::ostream& os, NodeContainer& m)
>>>>  ^~~~~~~~~~
>>>
>>>
>>>> Waf: Leaving directory `/home/a/Desktop/ndnSIM-NLSR/ns-3/build'
>>>> Build failed
>>>>  -> task in 'ns3-ndnSIM' failed with exit status 1 (run with -v to
>>>> display more information)
>>>
>>>
>>> Please help me resolve this issue, knowing that I performed the below
>>> commands to get to this state .
>>>
>>> sudo apt-get update
>>>> sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev
>>>> sudo apt-get install libboost-all-dev
>>>> sudo apt-get install python-dev python-pygraphviz python-kiwi
>>>> sudo apt-get install python-pygoocanvas python-gnome2
>>>> sudo apt-get install python-rsvg ipython
>>>> sudo apt install git
>>>> mkdir ndnSIM-NLSR
>>>> cd ndnSIM-NLSR
>>>> git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3
>>>> git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen
>>>> git clone --recursive
>>>> https://github.com/3rd-ndn-hackathon/ndnSIM-NLSR.git ns-3/src/ndnSIM
>>>> cd ../
>>>> sudo apt update
>>>> sudo apt install -y build-essential git cmake pkg-config libssl-dev
>>>> libboost-all-dev libpcap-dev libsqlite3-dev
>>>> cd ~
>>>> git clone https://github.com/named-data/ndn-cxx.git
>>>> cd ndn-cxx
>>>> git checkout tags/ndn-cxx-0.4.1
>>>> ./waf configure
>>>> ./waf
>>>> sudo ./waf install
>>>> cd ~
>>>> git clone https://github.com/named-data/NFD.git
>>>> cd NFD
>>>> git checkout tags/NFD-0.4.1
>>>> git submodule init
>>>> git submodule update
>>>> ./waf configure
>>>> ./waf
>>>> sudo ./waf install
>>>> cd ~
>>>> git clone https://github.com/named-data/NLSR.git
>>>> cd NLSR
>>>> git checkout tags/NLSR-0.3.0
>>>> git submodule init
>>>> git submodule update
>>>> sudo apt-get install liblog4cxx-dev
>>>> sudo apt-get install libprotobuf-dev protobuf-compiler
>>>> ./waf configure
>>>> ./waf
>>>> sudo ./waf install
>>>> cd ~/ndnSIM-NLSR/ns-3
>>>> expand -t 4 /home/a/Desktop/ndnSIM-NLSR/ns-3/src/ndnSIM/wscript >
>>>> /home/a/Desktop/ndnSIM-NLSR/ns-3/src/ndnSIM/wscript_new
>>>> mv /home/a/Desktop/ndnSIM-NLSR/ns-3/src/ndnSIM/wscript_new
>>>> /home/a/Desktop/ndnSIM-NLSR/ns-3/src/ndnSIM/wscript
>>>> sudo apt-get install -y python-software-properties
>>>> sudo apt-get install software-properties-common
>>>> cd ~
>>>> wget --no-check-certificate
>>>> https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
>>>> tar -xvf gcc-7.5.0.tar.gz
>>>> sudo apt-get install build-essential libgmp-dev libmpfr-dev libmpc-dev
>>>> cd gcc-7.5.0
>>>> ./configure --disable-multilib
>>>> make -j$(nproc)
>>>> sudo make install
>>>> sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc
>>>> 10
>>>> sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++
>>>> 10
>>>> sudo update-alternatives --config gcc
>>>> sudo update-alternatives --config g++
>>>> ---------------------
>>>> changed /home/a/Desktop/ndnSIM-NLSR/ns-3/src/ndnSIM/wscript :
>>>> if not os.environ.has_key('PKG_CONFIG_PATH'):          >>>>to>>>>
>>>>  if 'PKG_CONFIG_PATH' not in os.environ:
>>>> ----------------------------
>>>> ./waf configure --disable-python --enable-examples --enable-nlsr
>>>> ./waf
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ndnSIM mailing list
>>> ndnSIM at lists.cs.ucla.edu
>>> https://www.lists.cs.ucla.edu/mailman/listinfo/ndnsim
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndnsim/attachments/20241203/ac412baa/attachment-0001.htm>


More information about the ndnSIM mailing list