Tag Archives: eclipse

Configure NS-2 with Eclipse in Linux

For most users of NS2, it would be easier if they can use a popular IDE to work with the files.
Here are the step by step instructions I followed to set up NS-2.34 with Eclipse 3.5 in Ubuntu Linux.

In older versions of Eclipse, the settings might be slightly different.

I have compiled the following steps after running into various problems and errors with the setup, and solving them all. So I hope the setup will be smooth for you.

Setting up Eclipse:

  1. Download Eclipse SDK
  2. Extract the SDK to a folder
  3. Open Eclipse
  4. Go to Help -> Install New Software. In the Work With bar type this:
    http://download.eclipse.org/tools/cdt/releases/galileo
  5. Choose CDT Main Features and CDT Optional Features. Install them.
    CDT stands for “C/C++ Development Tooling”
  6. If you do not have a working internet connection in the system you have installed Eclipse, instead of steps 4 and 5, download the CDT from the above mentioned site. Then move to Install New Software (see step 4) -> Add and add the archive downloaded.

Installing NS-2

  1. Download NS-2
  2. Extract NS-2 to a folder, i.e. /home/username/ns-allinone-2.34
  3. Edit Makefile:
    • Open “…/ns-allinone-2.34/ns-2.34/Makefile.in”and
    • Add these lines anywhere near the top of the file:CCOPT = -g
      DEFINE = -DNDEBUG
      DEFINE = -DDEBUG
    • Navigate to …/ns-allinone-2.34/ns-2.34 and run “./configure”
  4. Navigate to the NS-2 folder using terminal and type ./install
  5. Also, follow the instructions are displayed at the end of a successful installation. These instructions are to modify the PATH variable and other environment variables as needed.

Adding NS-2 as a Project in Eclipse

  1. Open Eclipse
  2. Set the workspace as the ns installation path( /home/username/ns-allinone-2.34 ) by selecting File -> Switch Workspace
  3. Choose File -> New -> Project -> C++ Project
  4. Select Project Type as Makefile Project -> Empty C++ Project.
    Toolchains: Linux GCC
  5. Enter Project Name as ns-2.34
  6. Uncheck “Use default location” then browse to the directory NS-2 source directory ( …/ns-allione-2.34/ns-2.34 )
  7. Select “Next” and “Finish.
  8. From the workspace, Selecting the NS-2 Project and choosing Project -> Build All should not give Error.
  9. Running the project must open the console with the NS-2 prompt, %

Setting Debug Configuration:

  1. Select Run -> Debug Configurations
  2. Choose C/C++ Application. Type in any name.
  3. Under the Main tab, Choose the following:
    Project as ns-2.34.
    C/C++ Application as ns. (Search Project and Choose this)
  4. Under the Debugger tab, choose GDB Debugger. Uncheck the “Stop on startup at” option.
  5. Apply and Debug.


Update from Readers: Changes to be made in Makefile.in file:

Add -g to the line CCOPT = @V_CCOPT@

CCOPT = @V_CCOPT@ -g

Add -DNDEBUG -DDEBUG to the end of the following line:

DEFINE = -DTCP_DELAY_BIND_ALL -DNO_TK @V_DEFINE@ @V_DEFINES@ @DEFS@-DNS_DIFFUSION -DSMAC_NO_SYNC -DCPP_NAMESPACE=@CPP_NAMESPACE@-DUSE_SINGLE_ADDRESS_SPACE -Drng_test -DNDEBUG -DDEBUG

Special thanks to Ella Taha for notifying me about the correction!



Update:

I wrote this post many years ago, and I have since then moved away from using NS-2.
Here is a relatively recent post by Erlend that might be of help: Using ns-2 with Eclipse