Skip to main content

Installation of Network Simulator (NS2.35) in Mac OS

Installing NS2 in Mac OS is always a tougher task. Setting and configuring so many config files, etc.
But the latest version of NS2 (ns-2.35) is easily installing under Mac OS

OS Taken here is Mac OS 10.6 (Snow Leopard)
NS Version is ns-2.35 RC8

Prerequisites: Mac OS should be installed with the developer pacakge called xcode
with the help of Xcode only, all development modules can be handled.

So, the first step is to install the xcode, Download Xcode from this link

Download the ns-allinone-2.35 rc8 for installation, Download from

1. Install Xcode
2. Unzip or untar ns-2.35 using the command "tar zxvf ns-allinone-2.35-xxx.tar.gz" (without quotes)
3. The ns-2.35 configuration files contains  the path to xlibdir and xincdir, so you need not include the path for those directories.
4. kindly ensure that the path to xlibdir and xincdir are installed on your Mac OS(Xcode)
5. execute the command ./install inside the directory (~ns-allinone-2.35-xxx/) (use terminal to install) .
6. Once installed successfully, the path setting information will be provided to you. copy those informations and put it in a file called .profile or .bash_profile (please note that there is a dot in these files)

in my case, this is the path information (include the following line in the .profile file)

export PATH=$PATH:/Users/VIT/Downloads/ns-allinone-2.35-RC8/bin:/Users/VIT/Downloads/ns-allinone-2.35-RC8/tcl8.5.8/unix:/Users/VIT/Downloads/ns-allinone-2.35-RC8/tk8.5.8/unix

and also one more path called LD_LIBRARY_PATH
export LD_LIBRARY_PATH= <paths>

7. finally execute the command "source .profile" (wihtout quotes) and logout and login back.

open the terminal and type ns (you will get a % symbol indicates that the ns2 is installed successfully)
type nam and you can see a animation window is popping out.
(thats it)

if you want to install ns2.34 and earlier versions in Mac OS, then the above method will not be suitable for you. you need to include the
xlibdir and xincdir path in all the config files of ns2
and then proceed with the above steps..


  1. Hi,
    I am trying to install ns2-allinone-2.35-rc8 on a mac 10.6 but i get hte following error any helpwould be really appreciated. Thanks in advance

    * Build OTcl-1.14
    ~~~~~~~some more lines here ~~~~~~~~~
    gcc -o otclsh -g -O2 -I. -I/theDev/ns-allinone-2.35/include -I/theDev/ns-allinone-2.35/include -I/theDev/ns-allinone-2.35/include -I/include otclAppInit.c \
    -L. -lotcl -L/theDev/ns-allinone-2.35/lib -ltk8.5 -L/theDev/ns-allinone-2.35/lib -ltcl8.5 -L/usr/X11R6/lib -lXext -lX11 -lm
    Undefined symbols for architecture x86_64:

    ~~~~~~~some more lines here ~~~~~~~~~
    ld: symbol(s) not found for architecture x86_64
    collect2: ld returned 1 exit status
    make: *** [otclsh] Error 1
    otcl-1.14 make failed! Exiting .

  2. I was not worked on Mac OS before, but i tried the first time and i succeeded in installing ns2.35. anyway i look into it.

  3. I have the same problem with UpStreamSwimmer,and I can not find the solution...

  4. i Tried again in Mac OS Lion, it was installed successfully....

    1. Hello,

      I try to install "ns-allinone-2.35" on MacOS lion but when I run ./install and it fails to build OTcl-1.14, as you can see below:

      * Build OTcl-1.14
      No .configure file found in current directory
      Continuing with default options...
      checking build system type... i386-apple-darwin11.3.0
      "___CFConstantStringClassReference", referenced from:
      CFString in libtcl8.5.a(tclMacOSXNotify.o)
      CFString in libtcl8.5.a(tclMacOSXBundle.o)
      CFString in libtcl8.5.a(tclMacOSXBundle.o)
      ld: symbol(s) not found for architecture x86_64
      collect2: ld returned 1 exit status
      make: *** [otclsh] Error 1
      otcl-1.14 make failed! Exiting ...
      See for problems

      Do you know how can I solve this problem, please?
      Best Regards,

    2. hi friends,

      you have to make changes in the .install file, until unless we will get the error like this...

      totally four changes we have to do in the ./install file.


  5. I as well have the same problem and UpStreamSwimmer and Bency Lin... any update? using Os X 10.7

  6. me to have the same problem
    ld: symbol(s) not found for architecture x86_64
    any help i use mac os 10.7

    1. Hello Ahmed,

      I have exactly the same problem as you. Would you please let me know how you solved this problem?

    2. You just need to download the patch from here
      cd ns-allinone-2.35
      patch -p1 -i install.osx.patch
      And continue with the guide.


Post a Comment

Popular posts from this blog

Ant Colony algorithm using NS2

Ant Colony Algorithm in NS2 for Wired Networks. Please follow the video for full instructions  I am running in Ubuntu 20.04 There are multiple files in Ant Colony (we use a protocol called Antnet) which i have already included in my blog called  Lets go to my Blog. And Search for Ant Colony and Download the complete folder AntNet as shown in the video. Now Copy paste the files in their corresponding location: My Location if ns2 is  /home/pradeepkumar/ns-allinone-2.35/ns-2.35/ Inside this folder, the files have to be pasted in differnet sub folders...  Let me show you one by one... and cmu-trace.h have to be pasted to ~trace/ and drop-tail.h ---- ~queue/ to be replaced in the ns-2.35/ folder. ns-default.tcl, ns-lib.tcl and ns-packet.tcl to be pasted at  ~tcl/lib packet.h to be replaced at common/ folder. and priqueue.h to be pasted at queue/ antnet / folder have to be copied to ns-2.35/ folder (this is very imp

Installing NS-3.32 in Ubuntu 20.04

This is about installing ns version 3.32 in Ubuntu 20.04 LTS. #ns3 #ns3 .32 #networksimulation The commands used in the video are given here. $] sudo apt update $] sudo apt install build-essential autoconf automake libxmu-dev python3-pygraphviz cvs mercurial bzr git cmake p7zip-full python3-matplotlib python-tk python3-dev qt5-qmake qt5-default gnuplot-x11 wireshark Download the ns-allinone-3.32.tar.bz2 package from and copy it to /home/ folder See the full video for detailed instructions Extract it either in GUI or using command $] tar jxvf ns-allinone-3.32.tar.bz2 $] cd ns-allinone-3.32/ $] ./ --enable-examples --enable-tests The above command will take some time to install all the packages  You can see the output as shown below ns3 To check whether ns3 installed successfully, use the following commands. $] cd ns-3.32/ $] ./waf --run hello-simulator You should get the output as Hello Simulator $] ./waf --run first This is the example from the ns-3.32/exa

ns3 installation in Ubuntu 16.04

This post serves the installation instructions of ns3 in ubuntu 16.04 version. Some of my students are working in ns3, this post will benefit them in installing ns3. OS Used: Ubuntu 16.04.4 ns3 version: ns3 version 3.27 The same procedure will be applied for OS like Debian, Linux Mint. Fresh installation of Ubuntu 16.04 Let you try the fresh installation of ubuntu in your hard disk along with windows. Installation of ns3 dependencies ns3 needs so many dependencies, developmental libraries, drivers, etc. so install all those $] sudo apt update  $] sudo apt upgrade $] sudo apt-get install build-essential autoconf automake libxmu-dev python-pygoocanvas python-pygraphviz cvs mercurial bzr git cmake p7zip-full python-matplotlib python-tk python-dev python-kiwi python-gnome2 python-gnome2-desktop-dev python-rsvg qt4-dev-tools qt4-qmake qt4-qmake qt4-default gnuplot-x11 wireshark The above command make take some time to download, compile and install it, Be Patie