Until I take the time to re-test the installation procedure of my own
debugger utilities in lastest ns2.29, 
here are some detailed tips by paul craven (thanks to him):


-----Original Message-----
From: paul [mailto:[EMAIL PROTECTED] 
Sent: terça-feira, 23 de Maio de 2006 20:03
To: [EMAIL PROTECTED]
Subject: NS-2 2.29.3 and your debugger page

I tried your TCL debugging page:

http://tagus.inesc-id.pt/~pestrela/ns2/ns2_debugging2.html

I couldn't use ns2.28 because my compiler version was too new. So I 
tried what you wrote on 2.29.3. Here is my experience on getting it running:

First, it failed on the build:

g++ -c -Wall  -DTCP_DELAY_BIND_ALL -DNO_TK -DTCLCL_CLASSINSTVAR  
-DNDEBUG -DLINUX_TCP_HEADER -DUSE_SHM -DHAVE_LIBTCLCL -DHAVE_TCLCL_H 
-DHAVE_LIBOTCL1_11 -DHAVE_OTCL_H -DHAVE_LIBTK8_4 -DHAVE_TK_H 
-DHAVE_LIBTCL8_4 -DHAVE_TCL_H  -DHAVE_CONFIG_H -DNS_DIFFUSION 
-DSMAC_NO_SYNC -DCPP_NAMESPACE=std -DUSE_SINGLE_ADDRESS_SPACE -Drng_test 
-I. -I. -I/home/ubuntu/ns-allinone-2.29/tclcl-1.17 
-I/home/ubuntu/ns-allinone-2.29/otcl-1.11 
-I/home/ubuntu/ns-allinone-2.29/include 
-I/home/ubuntu/ns-allinone-2.29/include -I/usr/include/pcap -I./tcp 
-I./sctp -I./common -I./link -I./queue -I./adc -I./apps -I./mac 
-I./mobile -I./trace -I./routing -I./tools -I./classifier -I./mcast 
-I./diffusion3/lib/main -I./diffusion3/lib -I./diffusion3/lib/nr 
-I./diffusion3/ns -I./diffusion3/filter_core -I./asim/ -I./qs 
-I./diffserv -I./satellite -I./wpan -o emulate/net-pcap.o 
emulate/net-pcap.cc
emulate/net-pcap.cc:60:18: error: pcap.h: No such file or directory
...

I included libpcap package on my ubuntu installation. That changed the 
error to a link error:
emulate/net-pcap.o: In function `PcapNetwork::close()':
net-pcap.cc:(.text+0x9f): undefined reference to `pcap_close'
emulate/net-pcap.o: In function `PcapNetwork::filter(char const*)':
net-pcap.cc:(.text+0xea): undefined reference to `pcap_compile'

So then I added -lpcap to the makefile and it linked ok.

Then things worked ok until hooking up the mash thing with the patch. 
Had to do that manually:

[EMAIL PROTECTED]:~/ns-allinone-2.29/ns-2.29/tcl/lib$ patch < 
ns-lib.tcl.add_MASH.patch
patching file ns-lib.tcl
Hunk #1 FAILED at 32.
1 out of 2 hunks FAILED -- saving rejects to file ns-lib.tcl.rej

No big deal, that is easy.

I got a bit confused with which ns2 directory you meant with:
"We're now going to add the tcl-debug-2.0-pmsrve that already contains 
alterations made by me to the debugger. simply decompress the file 
parallel to the ns2 directory, and configure / compile it (at the 
tcl-debug directory)."
...but I could figure it out by looking at the context of the other lines.


In your step 5 image, I have no idea what this line does or what you are 
typing or how to make it work for me:
dbg2.2> [EMAIL PROTECTED]
I was ok up until then. I think it is your console prompt, but I don't 
know what it is doing after the debug prompt.

I'm kind of thinking if you included 'wget' of the patch files in your 
script, you could semi-automate the process.

Step 6 forgot to tell you the tk patch should be applied in the common 
subdirectory, and the 'I' is not capitalized like the file name is.

I got the following after compiling:
utils_ns.cc:28:19: error: timip.h: No such file or directory
I was able to comment out the line with no ill effects.

I tried doing the test for step 6 and got:
loading history file ... 3 events added
Main console display active (Tcl8.4.11 / Tk8.4.11)
(ns-2.29) 4 % debug 1
warning: Script debugging disabled.  Reconfigure with --with-tcldebug, 
and recompile.
1

So I did as it suggested, and still got the same thing.

Then I remembered I was to configure like step 5 showed.

And now it seems to be ok.


Reply via email to