반응형
OS: Ubuntu 8.04 desktop
ns 시뮬레이터 버전: 2.33

ns-2를 설치할 때에 기본적으로 필요한 라이브러리들을 점검해 보아야 한다.
libxt-dev, libxt6
libsm-dev, libsm6
libice-dev, libice6
libx11-dev, libxmu-dev


이 중에서 맨 처음 libxt-dev를 apt-get install로 설치하면 위 목록에서 거의 대부분이 같이 설치되는 것 같다.
ns-2 자체는 잘 설치가 되어서 문제없는 줄 알았지만 nam은 설치되지 않았다.
[NS-2디렉토리]/nam-1.13으로 가서 make를 했더니 아래와 같은 에러 발생:
xwd.c:87:29: error: X11/Xmu/WinUtil.h: No such file or directory
make: *** [xwd.o] Error 1


알고보니 libxmu-dev는 설치되지 않은 것을 확인했다.
libxmu-dev를 따로 설치해 주고, [NS-2디렉토리]/nam-1.13에서 make해주면 해결된다.

반응형
블로그 이미지

Bryan_

,
반응형
OS: Ubuntu 8.04.1 desktop
ns2 시뮬레이터 버전: 2.33

참고서적 [1]을 보고, ns-2.33에서 멀티 인터페이스/멀티 채널 부분을 보고 수정한 뒤,

$ make clean
$ make
를 실행했더니, 아래와 같은 에러가 뜨면서 중단되었다.

`.gnu.linkonce.t._ZN11taskPending10taskStatusEh' referenced in section `.rodata' of wpan/p802_15_4mac.o: defined in discarded section `.gnu.linkonce.t._ZN11taskPending10taskStatusEh' of wpan/p802_15_4mac.o

구글을 뒤져 봐도 정확한 원인을 모르겠다. 다만 해결방법은 추측성으로 gcc와 bash의 버전을 바꾸면서 컴파일에 성공했다는 정도로 적혀 있었다.
OS의 다른 환경은 그대로 두고 gcc 버전만 바꾸면서 테스트한 바로는, gcc-4.2, gcc-3.4.6, gcc-3.3.6 까지는 똑같은 에러가 발생했다. 아이러니하게도 주변 선배들 얘기로는 내가 테스트 안해본 gcc-3.3 이전 버전에서는 아마도 될 거라는... -_-

어쨌든 gcc의 버전에 상관없이 ns-2의 Makefile이 gcc를 디버그 모드로 동작하도록 했더니 문제없이 컴파일에 성공하였다.

디버그 모드로 make하는 방법은: ns-2가 설치된 디렉토리로 이동하여,
$ ./configure --enable-debug
$ make clean
$ make




* 참고서적
[1] 장영민 외, "ns-2 네트워크 시뮬레이터의 활용", 홍릉과학출판사
반응형
블로그 이미지

Bryan_

,