'pmipv6'에 해당되는 글 3건

  1. 2010.05.02 ubuntu 8.04에 ns2 2.29, PMIPv6 패치 설치하기 1
Network2010. 5. 2. 16:30
반응형
ns2 2.29, PMIPv6 패치 설치하기 ns-2 2.29, PMIPv6 패치 설치하기 ns2 2.29, PMIPv6 패치 설치하기

1. ubuntu 8.04 설치 후, 일단 apt-get update를 하여 최신 업데이트를 설치.

2. 이후 gcc를 3.6.x버전으로 다운그레이드.

3. 이후, 밑의 링크를 클릭하여 3개를 설치 및 적용함. 방법은 해당 사이트에 나옴. (ns-allinone-2.29 package: official site link1, ns-2.29-nist-mob package: official site link1 link2, pmip6-for-ns-2.29-nist.patch )
http://commani.net/pmip6ns/download.html

4. 이후 다음 두개의 명령어 입력.
sudo apt-get install tcl8.3
sudo apt-get install sourcenav

5. 이후 밑의 3개의 configure 파일에서 '/etc/.relid'` 를  '/etc/.relid` 이렇게 바꾼다.(즉, d 뒤에 있는 '를 지워준다)
./otcl-1.11/configure
./tk8.4.11/unix/configure
./tcl8.4.11/unix/configure

6. /ns-allinone-2.29/ns-2.29/sctp/sctp.h 파일에 705번째줄을 void DumpSendBuffer(); 이거로 바꾼다.

7. /ns-allinone-2.29/ns-2.29/mobile/god.h 파일에 88,93,98,101번째줄에 있는 vector:: 를 삭제한다.

8. /ns-allinone-2.29/ns-2.29/mac/mac-802_11.h 파일에 620번째줄에 있는 Mac802_11를 삭제한다.

9. /ns-allinone-2.29/ns-2.29//dsr/dsragent.cc 파일의 상단 아무데나 밑에 두개의 함수를 선언한다.
void XmitFlowFailureCallback (Packet * pkt, void * data);
void XmitFailureCallback(Packet *pkt, void *data); void XmitFailureCallback (Packet * pkt, void * data);

10. /ns-allinone-2.29/ns-2.29/diffusion/omni_mcast.cc 파일의 상단 아무데나 밑에 두개의 함수를 선언한다.
void OmniMcastXmitFailedCallback(Packet *pkt, void *data);

11. /ns-allinone-2.29/ns-2.29/bluetooth/lmp-link.h 파일의 296번째줄에 있는 LMPLink:: 를 삭제한다.

12. /ns-allinone-2.29/ns-2.29/bluetooth/bt-node.h 파일의 100번째줄에 있는 BTNode::를 삭제한다.

13. /ns-allinone-2.29/ns-2.29/bluetooth/tora-bt.h 파일의 12번째줄에 있는 ORA_BT::를 삭제한다.

14. /ns-allinone-2.29 폴더에 있는 ./install 명령을 입력하여 설치한다.

15. pgm-receiver.cc 파일에 있는 void PgmReceiver::trace_event(char *evType, double evTime); 를
void trace_event(char *evType, double evTime);로 변경한다.

16. pgm-sender.cc 파일에 있는 void PgmSender::trace_event(char *evType, double evTime); 를
void trace_event(char *evType, double evTime);로 변경한다.

17. pgm-agent.cc 파일에 있는 void PgmAgent::trace_event(char *evType, double evTime); 를
void trace_event(char *evType, double evTime);로 변경한다.

이외에 추가적으로 에러가 나는 것은 구글링을 통해 검색하기 바란다.

참고.
밑의 내용은 ./install 명령 입력 후, 나오는 에러메시지와 디버깅 입력을 나타낸 것이다.
============================================================
* Build tcl8.4.11
============================================================
creating cache ./config.cache
checking whether to use symlinks for manpages... no
checking whether to compress the manpages... no
checking whether to add a package name suffix for the manpages... no
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking for building with threads... no (default)
checking if the compiler understands -pipe... yes
checking how to run the C preprocessor... gcc -pipe -E
checking for sin... no
checking for main in -lieee... yes
checking for main in -linet... no
checking for net/errno.h... no
checking for connect... yes
checking for gethostbyname... yes
checking how to build libraries... static
checking for ranlib... ranlib
checking if 64bit support is requested... no
checking if 64bit Sparc VIS support is requested... no
checking system version (for dynamic loading)... ./configure: 1: Syntax error: Unterminated quoted string
tcl8.3.2 configuration failed! Exiting ...
Tcl is not part of the ns project.  Please see www.Scriptics.com
to see if they have a fix for your platform.
=> sudo apt-get install tcl8.3
=> sudo apt-get install sourcenav
=> otcl 1.11 ' 吏€?곌린
./otcl-1.11/configure
./tk8.4.11/unix/configure
./tcl8.4.11/unix/configure
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/ns2.29/ns-allinone-2.29/ns-2.29/sctp# gedit sctp.h
705?귙뀚?담뀎?먦뀍?쒌꽮  void DumpSendBuffer();
//////////////////////////////////////////////////////

mobile/god.h
88,93,98,101?귙뀚?담뀎?믡뀋?쒌꽮?뉎뀛?뉎뀭?녴꽩?▲꽩 vector::  ?끹뀖?긱뀍??
/////////////////////////////////////////////////////
/ sctp / sctp.h: 705: error: extra qualification 'SctpAgent::' on member 'DumpSendBuffer'
make: *** [trace/trace.o] Error 1 make: *** [trace / trace.o] Error 1
Soltuion:
Search and open the file sctp.h .
Find line 705 , it is :
void SctpAgent::DumpSendBuffer();
Now, remove the extra qualification vector SctpAgent, i.e. change the line to ,
void DumpSendBuffer();
Now save the file and run ./install again. Or , installation can be done after editing the few other files which will generate the error again.
. / mobile / god.h: 88: error: extra qualification 'vector::' on member 'operator ='
./mobile/god.h:93: error竊쉋xtra qualification 'vector::' on member 'operator+=' . / mobile / god.h: 93: error: extra qualification 'vector::' on member 'operator + ='
./mobile/god.h:98: error竊쉋xtra qualification 'vector::' on member 'operator==' . / mobile / god.h: 98: error: extra qualification 'vector::' on member 'operator =='
./mobile/god.h:101: error竊쉋xtra qualification 'vector::' on member 'operator!=' . / mobile / god.h: 101: error: extra qualification 'vector::' on member 'operator! ='
Soltuion:
Open god.h in the text editor and go to the respective lines , and remove vector:: from the lines just as above.
Example:
inline void operator=(const vector a) {

./mac/mac-802_11.h: 620: error: extra qualification 'Mac802_11::' on member 'calFreq'
make: *** [mac/mac-802_11.o] Error 1 make: *** [mac/mac-802_11.o] Err
Solution:
Now open mac-802_11.h and go to line 620 and remove Mac802_11:: just as above.
dsr / dsragent.cc: 1386: error: 'XmitFlowFailureCallback' was not declared in this scope
dsr/dsragent.cc:1403: error: 'XmitFailureCallback' was not declared in this scope dsr / dsragent.cc: 1403: error: 'XmitFailureCallback' was not declared in this scope
make: *** [dsr/dsragent.o] Error 1 make: *** [dsr / dsragent.o] Error 1
So now open dsragent.cc , find the respective lines containing XmitFlowFailureCallback or XmitFailureCallback.
See, they are called inside a function first and then declared later on.
So , just add the following lines ,before the void XXX ( where they were called):
void XmitFlowFailureCallback (Packet * pkt, void * data);
void XmitFailureCallback(Packet *pkt, void *data); void XmitFailureCallback (Packet * pkt, void * data);

diffusion / diffusion.cc: In member function 'void DiffusionAgent:: MACprepare (Packet *, nsaddr_t, int, bool)':
diffusion/diffusion.cc:429: error: 'XmitFailedCallback' was not declared in this scope diffusion / diffusion.cc: 429: error: 'XmitFailedCallback' was not declared in this scope
make: *** [diffusion/diffusion.o] Error 1 make: *** [diffusion / diffusion.o] Error 1
Open diffusion.cc, add the follwoing line:
void XmitFailedCallback(Packet *pkt, void *data);
before,
void DiffusionAgent::MACprepare(Packet *pkt, nsaddr_t next_hop, int type, bool lk_dtct)

diffusion / omni_mcast.cc: In member function 'void OmniMcastAgent:: MACprepare (Packet *, nsaddr_t, unsigned int, bool)':
diffusion/omni_mcast.cc:388: error: 'OmniMcastXmitFailedCallback'was not de clared in this scope diffusion / omni_mcast.cc: 388: error: 'OmniMcastXmitFailedCallback'was not de clared in this scope
make: *** [diffusion/omni_mcast.o] Error 1 make: *** [diffusion / omni_mcast.o] Error 1
Open omni_mcast.cc , add the following line :
void OmniMcastXmitFailedCallback(Packet *pkt, void *data);
before,
void OmniMcastAgent::MACprepare(Packet *pkt, nsaddr_t next_hop, unsigned int type, bool lk_dtc
//////////////////////////////////////////////////////
bluetooth / lmp-link.h: 296: error: extra qualification 'LMPLink::' on member 'LMPLink'
bluetooth/bt-node.h:100: error: extra qualification 'BTNode::' on member 'setup' bluetooth / bt-node.h: 100: error: extra qualification 'BTNode::' on member 'setup'
make: *** [bluetooth/baseband.o] Error 1 make: *** [bluetooth / baseband.o] Error 1
Open lmp-link.h, remove LMPLink:: from line296.
Open bt-node.h, remove BTNode:: from line 100
//////////////////////////////
In file included from bluetooth/tora-bt.cc:5:
bluetooth/tora-bt.h: At global scope:
bluetooth/tora-bt.h:12: error: extra qualification ?쁔ORA_BT::??on member ?쁱ecvReply??make: *** [bluetooth/tora-bt.o] ?ㅻ쪟 1
 
반응형

'Network' 카테고리의 다른 글

AAA와 RADIUS  (0) 2010.05.10
ns2 디버깅  (0) 2010.05.10
무선랜 보안  (0) 2010.04.29
802.1x에 대한 개요  (0) 2010.04.13
EAP-TLS(Extensible Authentication Protocol - Transport Layer Security)  (0) 2010.04.08
Posted by pmj0403