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... 그리고 ~2,500개의 시뮬레이션https://drive.google.com/drive/folders/0B7S255p3kFXNSmRYb2lGcDRUdWs?usp=sharing

관련 정보