<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jason's Computer Science Blog &#187; Install</title>
	<atom:link href="http://www.jasonernst.com/tag/install/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jasonernst.com</link>
	<description>By Jason Ernst</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:29:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ns-2.33 (and nam) on Ubuntu 8.04 (Hardy Heron)</title>
		<link>http://www.jasonernst.com/2008/06/11/ns-233-and-nam-on-ubuntu-804-hardy-heron/</link>
		<comments>http://www.jasonernst.com/2008/06/11/ns-233-and-nam-on-ubuntu-804-hardy-heron/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 14:57:54 +0000</pubDate>
		<dc:creator>Jason Ernst</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Simulation]]></category>
		<category><![CDATA[Wireless Networks]]></category>
		<category><![CDATA[8.04]]></category>
		<category><![CDATA[Guide]]></category>
		<category><![CDATA[Hardy]]></category>
		<category><![CDATA[Heron]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Install]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[NS-2.33]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wireless]]></category>

		<guid isPermaLink="false">http://www.jasonernst.com/?p=29</guid>
		<description><![CDATA[Since I have been working with ns2 for the last few months in preparation for my thesis I have decided to write a guide on how to install the most recent version of ns2 on the most recent version of ubuntu (at the time of this writing, Monday June 9th, 2008). I have found many [...]]]></description>
			<content:encoded><![CDATA[<p>Since I have been working with ns2 for the last few months in preparation for my thesis I have decided to write a guide on how to install the most recent version of ns2 on the most recent version of ubuntu (at the time of this writing, Monday June 9th, 2008). </p>
<p>I have found many people already who have had difficulty setting it up so maybe this will be of some help to someone.  For this tutorial I am assuming you have installed the most recent version of Ubuntu (8.04). (At the time of writing)</p>
<p><span id="more-29"></span></p>
<h3>Step 1: Update Ubuntu</h3>
<p>Since it has already been a month or so since Hardy Heron has been released its probably best, if you haven&#8217;t already done so to update Ubuntu. The easiest way I&#8217;ve found is to go to System&gt;&gt;Administration&gt;&gt;Update Manager. Alternatively, you can enter this into the terminal:</p>
<div class="snippet">
<div class="snippet-shell">
<code>sudo apt-get update<br />
sudo apt-get upgrade<br />
</code></div>
</div>
<div class="image" style="float:right;"><a href="http://www.jasonernst.com/wp-content/uploads/2008/06/update.png"><img class="alignnone size-medium wp-image-30" title="Ubuntu - Update" src="http://www.jasonernst.com/wp-content/uploads/2008/06/update-300x187.png" alt="Update Manager - Ubuntu Hardy Heron" width="300" height="187" /></a></div>
<h3>Step 2: Download all of the required pieces to make ns2 work</h3>
<p>Here is a list of archives required for ns2 to work properly (you can download them by clicking the links or just enter all of the commands in the code sections below for automatic download and untar). I saved each archive to the desktop so I could find each one easily but you could use anywhere you like.</p>
<ol class="list">
<li><a title="tcl 8.4.14" href="http://www.jasonernst.com/wp-content/uploads/2008/06/tcl8.4.19-src.tar.gz" target="_self">tcl 8.4.14</a></li>
<li><a title="tk 8.4.14" href="http://www.jasonernst.com/wp-content/uploads/2008/06/tk8.4.19-src.tar.gz" target="_self">tk 8.4.14</a></li>
<li><a title="otcl 1.13" href="http://www.jasonernst.com/wp-content/uploads/2008/06/otcl-src-1.13.tar.gz" target="_self">otcl 1.13</a></li>
<li><a title="tclcl 1.19" href="http://www.jasonernst.com/wp-content/uploads/2008/06/tclcl-src-1.19.tar.gz" target="_self">tclcl 1.19</a></li>
<li><a title="ns-2.33" href="http://www.jasonernst.com/wp-content/uploads/2008/06/ns-2.33.tar.gz" target="_self">ns 2.33</a></li>
<li><a title="nam 1.13" href="http://www.jasonernst.com/wp-content/uploads/2008/06/nam-src-1.13.tar.gz" target="_self">nam 1.13</a></li>
</ol>
<h3>Step 2.5: Install Ubuntu Packages</h3>
<p>Before installing everything else, I have found that it is helpful to get a few packages from the ubuntu repositories or else it wont build correctly. Grab a cup of coffee it might take a while since kdebase-dev is somewhat large. I&#8217;m sure there is a way to do this with fewer packages however I know this works. If anyone figures out exactly which packages are required let me know so I can update this.</p>
<div class="snippet">
<div class="snippet-shell">
<code>sudo apt-get install libx11-dev kdebase-dev</code>
</div>
</div>
<h3>Step 3: Install tcl</h3>
<div class="snippet">
<div class="snippet-shell">
<code >wget http://www.jasonernst.com/wp-content/uploads/2008/06/tcl8.4.19-src.tar.gz<br />
tar xvf tcl8.4.19-src.tar.gz<br />
cd tcl8.4.19/unix<br />
./configure<br />
make<br />
sudo make install<br />
</code></div>
</div>
<h3>Step 4: Install tk</h3>
<div class="snippet">
<div class="snippet-shell">
<code>cd ..<br />
cd ..<br />
wget http://www.jasonernst.com/wp-content/uploads/2008/06/tk8.4.19-src.tar.gz<br />
tar xvf tk8.4.19-src.tar.gz<br />
cd tk8.4.19/unix<br />
./configure<br />
make<br />
sudo make install</code>
</div>
</div>
<h3>Step 5: Install oTcl</h3>
<p><em>Important Note:</em> The &#8216;./configure &#8211;with-tcl=&#8217; portion of the following two code fragments should point to the source files for tcl. If you have been following the guide by copying and pasting the previous commands what we have here will work just fine. Otherwise you will need to change this to point to the correct location of your tcl source files. </p>
<div class="snippet">
<div class="snippet-shell">
<code>cd ..<br />
cd ..<br />
wget http://www.jasonernst.com/wp-content/uploads/2008/06/otcl-src-1.13.tar.gz<br />
tar xvf otcl-src-1.13.tar.gz<br />
cd otcl-1.13<br />
./configure --with-tcl=../tcl*/<br />
make<br />
sudo make install</code>
</div>
</div>
<h3>Step 6: Install tclcl</h3>
<div class="snippet">
<div class="snippet-shell">
<code>cd ..<br />
wget http://www.jasonernst.com/wp-content/uploads/2008/06/tclcl-src-1.19.tar.gz<br />
tar xvf tclcl-src-1.19.tar.gz<br />
cd tclcl-1.19<br />
./configure --with-tcl=../tcl*/<br />
make<br />
sudo make install</code></div>
</div>
<h3>Step 7: Install ns2</h3>
<div class="snippet">
<div class="snippet-shell">
<code>cd ..<br />
wget http://www.jasonernst.com/wp-content/uploads/2008/06/ns-2.33.tar.gz<br />
tar xvf ns-2.33.tar.gz<br />
cd ns-2.33<br />
./configure<br />
make<br />
sudo make install</code>
</div>
</div>
<p>You will likely get alot of warnings for deprecated conversions. Just ignore these or if you really are concerned about them visit the <a href="http://nsnam.isi.edu/nsnam/index.php/Troubleshooting#ns-2_not_building_with_gcc.2Fg.2B.2B_4.3.2">nsnam troubleshooting page</a>. If you want to make sure your version of ns-2 is working correctly after the install you can run the validation test from within the ns2 source directory. You can do this by entering:</p>
<div class="snippet">
<div class="snippet-shell">
<code>./validate</code>
</div>
</div>
<p>You should see that the test output agrees with the reference output. Congratulations you have a working version of ns-2 installed.</p>
<h3>Step 8: (optional) Install nam</h3>
<div class="snippet">
<div class="snippet-shell">
<code>cd ..<br />
wget http://www.jasonernst.com/wp-content/uploads/2008/06/nam-src-1.13.tar.gz<br />
tar xvf nam-src-1.13.tar.gz<br />
cd nam-1.13<br />
./configure<br />
make<br />
sudo make install</code>
</div>
</div>
<p>Note: if you get this error:</p>
<div class="snippet">
<div class="snippet-shell">
<code>error: X11/Xmu/WinUtil.h: No such file or directory</code></div>
</div>
<p>it may be necesary to do this: </p>
<div class="snippet">
<div class="snippet-shell">
<code>sudo apt-get install libxmu-dev</code></div>
</div>
<p>You are now ready to start working with ns2 and nam. If you are like me and working on a new protocol or something you will want to start modifying the ns-2 source code and recompile again so you might want to keep that folder handy. The rest of the source can be safely removed as far as i know. Keep in mind after you have modified the source you will want to do another make install so that when you type ns in your terminal the version you just compiled is used. </p>
<h3>Getting Started with NS2</h3>
<p>These are some quick tips to get you started using ns2 if you are a beginner.</p>
<p>All example files are located in ns/tcl/ex. You can run these scenarios on ns2 using <code>ns filename.tcl</code> The best way to start is probably changing things in these files until you understand what is happening more thoroughly.</p>
<p>The output will usually be a trace file with a similar name: ex) filename.tr. Trace files can usually be viewed with a text-editor program. There are also tools to analyze the trace files and pull stats from them. These may require some tweaking however depending on the format of the trace file. Additionally, a nam output file for visualization may be generated as well. This will usually be named filename.nam. To view the visualization use: <code>nam filename.nam</code></p>
<h3>Useful Links</h3>
<p>I thought it might be useful to add a section on useful links here since this article has become quite popular. If you would like to suggest a link feel free to contact me.</p>
<ul class="list">
<li><a href="http://nsnam.isi.edu/nsnam/index.php/Main_Page">Ns2 Wiki</a></li>
<li><a href="http://isi.edu/nsnam/ns/tutorial/index.html">Marc Greis&#8217; Tutorial</a></li>
<li><a href="http://isi.edu/nsnam/ns/ns-documentation.html">NS Manual</a></li>
<li><a href="http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf">NS for Beginners</a> (pdf)</li>
<li><a href="http://isi.edu/nsnam/ns/ns-problems.html">Common NS2 Installation Problems</a></li>
<li><a href="http://nsnam.isi.edu/nsnam/index.php/Contributed_Code#Wireless_and_Mobility">NS2 Wireless and Mobility Modules</a></li>
<li><a href="http://www.nabble.com/Network-Simulator-ns-2-f15582.html">NS2 Mailing Lists</a></li>
<li><a href="http://dsn.tm.uni-karlsruhe.de/english/Overhaul_NS-2.php">NS2.33 Wireless MAC and PHY improvements</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jasonernst.com/2008/06/11/ns-233-and-nam-on-ubuntu-804-hardy-heron/feed/</wfw:commentRss>
		<slash:comments>101</slash:comments>
		</item>
	</channel>
</rss>
