Prerequisites - everybody need to read...

First you need standard Ubuntu tcl and tk packages installed (namely tcl8.4, tcl8.4-dev, tk8.4 and tk8.4-dev, autoconf). Let's get them...

$sudo apt-get install tcl8.4-dev tk8.4-dev autoconf automake

There are few more things you'd probably want to get installed as well, note some of the packages may be already installed on your box:

$sudo apt-get install perl xgraph libxt-dev libx11-dev libxmu-dev

All you need now (besides love) is the source for 3 applications/libraries: tclcl, otcl and ns-2 itself. Get them from SourceForge. OTcl and Tclcl can be found here. Note: You need two separate source tarballs - one for OTcl and one for Tclcl. Ns-2 sources can be found here. Download ns-2 package (not the ns-allinone one). Put the archives in a folder and unpack them (you can use mc for that).

$cd
$tar -zxf *.gz

You should see 3 directories now, one for each package.

Ubuntu and Tcl - why do they have to make the standard non-standard?

You're not running Ubuntu 8.04 or newer, are you? Oh you are? I thought so - there are some more things you need to do before we can start. The Ubuntu guys have changed the way Tcl/Tk-dev config dirs work. There is an easy hack to 'correct' this. It didn't broke anything on my system. Be warned that it may change something on your (very improbable, but don't blame me then). Let's go:

$sudo rm -rf /usr/lib/tcl8.4/
$sudo ln -s /usr/share/tcltk/tcl8.4/ /usr/lib/
$sudo rm -rf /usr/lib/tk8.4/
$sudo ln -s /usr/share/tcltk/tk8.4/ /usr/lib/

Now you are ready to proceed!