반응형
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_

,