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 http://developer.apple.com/xcode/

Download the ns-allinone-2.35 rc8 for installation, Download from http://www.isi.edu/nsnam/dist/release/RC8/

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
xlibdir=/Developer/SDKs/MacOSX10.4u.sdk/usr/lib
xincdir=/Developer/SDKs/MacOSX10.4u.sdk//usr/include
and then proceed with the above steps..







Comments

  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 .

    ReplyDelete
  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.

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

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

    ReplyDelete
    Replies
    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 http://www.isi.edu/nsnam/ns/ns-problems.html for problems


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

      Delete
    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.

      thanks

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

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

    ReplyDelete
    Replies
    1. Hello Ahmed,

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

      Delete
    2. You just need to download the patch from here
      http://old.nabble.com/file/p34431582/install.osx.patch
      Then
      cd ns-allinone-2.35
      patch -p1 -i install.osx.patch
      ./install
      And continue with the guide.

      Delete

Post a Comment

Popular posts from this blog

AWK Scripts for NS2 to process data from Trace Files

AWK Scripts are very good in processing the data from the log (trace files) which we get from NS2. If you want to process the trace file manually, here is the detailHere is a sample of trace file from NS2 (However ns2 supports a new type of trace file also), but this post will make you understand the old trace format only.r 0.030085562 _0_ MAC  --- 0 message 32 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0] r 0.030110562 _0_ RTR  --- 0 message 32 [0 ffffffff 1 800] ------- [1:255 -1:255 32 0] s 1.119926192 _0_ RTR  --- 1 message 32 [0 0 0 0] ------- [0:255 -1:255 32 0]
AWK Scripts are very good in processing the data column wise. For example
the first column in the above trace file represents r, s which indicates receive, sent respectively. If we want to trace the entire r and s alone from this trace file we can represent it as $1
So
$1 represents ACTION
$2 Time
$3 Node ID
$4 Layer
$5 Flags
$6 seqno
$7 type
$8 Size
$14 Energy (if the network nodes includes EnergyModel)To run the awk script in Li…

nam installation - Segmentation Fault (Solved)

If you are encountering "Segmentation Fault" error while running nam in Ubuntu 14.04 or Linux Mint 17+ editions, this post will be helpful for you.

Download the nam file from this link

First, remove the nam which was installed earlier using the following command 

pradeep@localhost $] sudo apt-get remove nam

and install the new nam which was downloaded just now. go to the folder where the file was downloaded and issue the following command

pradeep@localhost $]  sudo dpkg --install nam_1.15-10_i386.deb

See the screenshot below to install and use nam

 T S Pradeep Kumar

Installation of ns2 in Ubuntu 18.04 - NS2 Tutorial # 2

ns2 installation in Ubuntu 18.04

Unlike earlier version of ubuntu, the 18,04 version does not support the direct installation of ns2, because of the latest C/C++ compiler (7.x), but the latest C/C++ compiler supported by ns2 is gcc-4.8. So this post and video tells you about the installation of gcc-4.8 version, then ns2 and then configuration.
Here are the steps, Please follow the video given below for more information.

$] tar zxvf ns-allinone-2.35.tar.gz


$] sudo apt install gcc-4.8 g++-4.8

if you have installed ubuntu just now, you can try these commands also in the beginning

$] sudo apt update
$] sudo apt install build-essential autoconf automake libxmu-dev

$] cd ns-allinone-2.35/ns-2.35
$] gedit Makefile.in
$] gedit linkstate/ls.h

line number 137, change erase to this->erase
$] cd ..
$] ./install

export PATH=$PATH:/home/pradeepkumar/ns-allinone-2.35/bin:/home/pradeepkumar/ns-allinone-2.35/tcl8.5.10/unix:/home/pradeepkumar/ns-allinone-2.35/tk8.5.10/unix
export LD_LIBRARY_PATH=$L…