Ubuntu 17.01 に NS2 をインストール中にエラーが発生しました

Ubuntu 17.01 に NS2 をインストール中にエラーが発生しました

Ubuntu 17.01 に ns2 をインストールしているときに、次のエラーが繰り返し表示されます。

mdart/mdart_adp.cc: In member function ‘void ADP::sendDarq(nsaddr_t, 
int)’:
mdart/mdart_adp.cc:108:21: error: reference to ‘hash’ is ambiguous
nsaddr_t dstAdd_ = hash(reqId);
                 ^~~~
In file included from ./mdart/mdart.h:52:0,
             from ./mdart/mdart_adp.h:51,
             from mdart/mdart_adp.cc:47:
./mdart/mdart_function.h:230:17: note: candidates are: nsaddr_t 
 hash(nsaddr_t)
 inline nsaddr_t hash(nsaddr_t id) {
             ^~~~
  In file included from /usr/include/c++/7/bits/basic_string.h:6575:0,
             from /usr/include/c++/7/string:52,
             from /usr/include/c++/7/bitset:47,
             from ./mdart/mdart_function.h:62,
             from ./mdart/mdart.h:52,
             from ./mdart/mdart_adp.h:51,
             from mdart/mdart_adp.cc:47:
 /usr/include/c++/7/bits/functional_hash.h:58:12: note:                 
 template<class _Tp> struct std::hash
 struct hash;
        ^~~~
mdart/mdart_adp.cc: In member function ‘void ADP::sendDaup()’:
mdart/mdart_adp.cc:396:21: error: reference to ‘hash’ is ambiguous
nsaddr_t dstAdd_ = hash(mdart_->id_);
                 ^~~~
In file included from ./mdart/mdart.h:52:0,
             from ./mdart/mdart_adp.h:51,
             from mdart/mdart_adp.cc:47:
./mdart/mdart_function.h:230:17: note: candidates are: nsaddr_t 
hash(nsaddr_t)
 inline nsaddr_t hash(nsaddr_t id) {
             ^~~~
In file included from /usr/include/c++/7/bits/basic_string.h:6575:0,
             from /usr/include/c++/7/string:52,
             from /usr/include/c++/7/bitset:47,
             from ./mdart/mdart_function.h:62,
             from ./mdart/mdart.h:52,
             from ./mdart/mdart_adp.h:51,
             from mdart/mdart_adp.cc:47:
/usr/include/c++/7/bits/functional_hash.h:58:12: note:                 
template<class _Tp> struct std::hash
 struct hash;
        ^~~~
Makefile:93: recipe for target "mdart/mdart_adp.o" failed
make: *** [mdart/mdart_adp.o] Errore 1
Ns make failed!
See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

答え1

'ns-2.35' Ubuntu 17.10: sudo apt install g++-5→ つまり、g++-5 (>=5.4) 以降が使用可能です。注記: 必要な数の gcc バージョンを同時にインストールできます。

tar xvf ns-allinone-2.35_gcc5.tar.gz           // 2014 - 2017 update

https://drive.google.com/file/d/0B7S255p3kFXNVVlxR0ZNRGVORjQ/view?usp=sharing

cd ns-allinone-2.35/
export CC=gcc-5 CXX=g++-5 && ./install
cd ns-2.35/
sudo make install

追加のプロトコルが必要な場合 → 全約300個のパッチ →https://drive.google.com/drive/folders/0B7S255p3kFXNZ2lWZDBRSW40Q00?usp=sharing...そして約2500回のシミュレーションhttps://drive.google.com/drive/folders/0B7S255p3kFXNSmRYb2lGcDRUdWs?usp=sharing

関連情報