I didn't notice any useful responses to the initial cry for help. Forgive me if I'm just being redundant.
This isn't an ns-2 problem nor is it a tk-versioning problem. It's simply that the compiler can't find X11 (or XFree86) files it needs to link tk to the underlying windowing system. I had the same problem when I tried to install ns-2 on an MS WindowsXP box running cygwin without reading directions. Quoting from the online page http://nsnam.isi.edu/nsnam/index.php/Running_Ns_and_Nam_Under_Windows_9x/2000/XP_Using_Cygwin "You'll need X11. Depending on which version of Cygwin you'll use, this might be either Xfree86 (packages XFree86-base, XFree86-bin, XFree86-prog, XFree86-lib, and XFree86-etc) or X.org (packages xorg-x11-bin, xorg-x11-bin-dlls, xorg-x11-devel, xorg-x11-libs-data, and xorg-x11-etc)." The same issue exists with Linux/Unix systems, of course. I didn't notice because all the necessary files were already present because of other development work. I've successfully installed ns-2.29 on WinXP/cygwin and Red Hat Enterprise Linux 3. Cheers, Kent