티스토리 툴바

 

 
블로그 이미지
I'm not what I was!!! Jihuns
« 2012/01 »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        


DTN for ns-2

Major/Simulator | 2009/07/01 16:51 | Posted by Jihuns

오호 검색중에 dtn(delay tolerant networking)을 ns-2에 설계해놓은게 있다해서

뻘짓 시작ㅡㅡ;;

요즘 ns를 수십번은 깔았다가 지운 듯 하다ㅡㅡ;;

allinone-2.27버전을 위해 만들었다기에..괜히 모험하기 싫어서 27버전으로다가 시작~!!

ns-allinone-2.27에서 우선 자체 에러 나주시고.ㅡㅡ;;

tclcl-mappings.h: In static member function `static int TclObjectHelper<T>::dispatch_(void*, Tcl_Interp*, int, char**)':
tclcl-mappings.h:51: error: incomplete type `Tcl' used in nested name specifier
tclcl-mappings.h:52: error: invalid use of undefined type `struct Tcl'
tclcl-mappings.h:41: error: forward declaration of `struct Tcl'
tclcl-mappings.h:57: error: invalid use of undefined type `struct Tcl'
tclcl-mappings.h:41: error: forward declaration of `struct Tcl'
make: *** [Tcl.o] Error 1
tclcl-1.15 make failed! Exiting ...

대략 위와 같은 에러 나주신다ㅡㅡ;;

gcc 뻘찟 끝에 알아낸 결과는 gcc 버전 다운과 커널 다운ㅡㅡ;;

거..거짓말...그러나 방법이 있더랜다..

패치하면 된단다..휴=33
위의 파일을 받아서
# tar xvfz ns-allinone-2.27
# patch -p0 < ns-2.27.gcc410.patch
각 버전에 맞추어서 패치하면 되고 2.29이상 버전에선 gcc410에 최적화란다...쩝....
※ ns-allinone-2.27 폴더 바깥에서 하는 것임....!!

이제 dtn을 깔아보자...파일을 받아서 압축을 풀고

# tar xvf nsdtn-1.tar.tar
# cd nsdtn-1/scripts
# cp dtn-2.27.patch /ns-allinone-2.27/ns-2.27
# cp ns-2.27.patch /ns-allinone-2.27/ns-2.27

이렇게 2개의 패치 파일을 복사 후에
# cd /ns-allinone-2.27/ns-2.27
# patch p1 < ns-2.27.patch
# patch p0 < dtn-2.27.patch
# cp -r /nsdtn/dtn /ns-allinone-2.27/ns-2.27

※ 참고로 난 dtn 패치를 gcc 패치보다 먼저 하였다^^;;

이제 ./install 하면은

error: extra qualification  DTNAgent:: on member newpacket
라는 에러 나주신다ㅡㅡ;;

이건 뭔가 하고 순간 멍ㅡㅡ;;
dtn.h 파일에서 51번째 라인을 보면
     Packet* DTNAgent :: newpacket(int size);
라고 써있는데 이는
    4.1.X의 gcc는 위와 같은 코드에서 클래스 멤버 함수 앞에 붙은 제한자에 대해 클래스 명과 네임스페이스 (namespace) 명을 구분하지 못해서 위와 같은 컴파일 에러가 난단다ㅡㅡ;;

해결책으로는 gcc 3.4 버전 이하로 다운 그레이드 하거나
아래와 같이 수정한다.

Packet* newpacket(int size);

간단하게..

이제 정말로 ./install

아싸 잘 설치된다ㅡㅜ

감격의 눈물이 다 난다~하핫...

예제 파일도 안에 들어있어서 실행도 성공~

근데 tr파일은????ㅡㅡ;;

고민좀 해보자..완벽하게 성공하는 그날까지~~~~~하핫~
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

'Major > Simulator' 카테고리의 다른 글

DTN for ns-2  (2) 2009/07/01
mobile node의 위치와 이동성  (0) 2009/06/23
node-config parameter  (0) 2009/06/23
AODV-UU 설치  (0) 2009/01/14
with WSN  (1) 2008/12/18
Queue monitoring  (0) 2008/11/04

TRACKBACK ADDRESS : http://jihuns.tistory.com/trackback/143 관련글 쓰기

  1. 네트워크 시뮬레이터 NS2 설치하기

    Tracked from suakii's log 2009/09/09 01:43  삭제

    네트워크 시뮬레이터인 NS2를 설치하기 위하여 노트북에 VMWare로 Fedora9을 설치한 후 아래의 작업을 진행하였다. 1. NS2 다운로드 받기 &nbsp;&nbsp; http://www.isi.edu/nsnam/ns/ 2. 설치하기 &nbsp;&nbsp; 2.1 다운 받은 버전은 ns-allinone-2.27 이유는 도서관에서 빌린 책이 그 버전으로 되어 있기에.ㅠ.ㅠ &nbsp;&nbsp; 2.2 압축을 풀고...

  2. Fedora12에 NS2 설치하기

    Tracked from 화창의 화려한 인생 2010/04/15 20:22  삭제

    오늘 하루종일 NS2를 설치하면서 끙끙 앓았네요. 자꾸 에러나고 실행이 안되는걸 해결책을 찾게되어서 올리게 되었습니다.알고보면 매우 쉬운 문제를 13시간을 고생했네요;; 대부분이 저와 비슷한 이유때문에 안되었을 것이라 생각합니다.조금이나마 도움이 되길 바라며 열심히 NS2 공부하도록해요 ^-^그리고 이 글을 볼때는 페도라에서 봐야 할겁니다. 그래야 바로바로 링크따라 가서 파일을 받아서 적용시킬 수 있거든요.만약 페도라가 인터넷이 안된다면 VMwar...

댓글을 달아 주세요

  1. 2009/08/06 18:29  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of http://jihuns.tistory.com Jihuns 2009/08/07 10:58  댓글주소  수정/삭제

      nowadays, I also study about DTN.
      and it's possible for DTN in NS.
      but nsdtn is not good for studying.
      so I found other program.
      it's ONE(Opportunistic Network Environment simulator).
      I think it's useful for DTN.