<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yn3T88</id>
	<title>Nsnam - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.nsnam.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yn3T88"/>
	<link rel="alternate" type="text/html" href="https://www.nsnam.org/wiki/Special:Contributions/Yn3T88"/>
	<updated>2026-04-21T18:37:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://www.nsnam.org/mediawiki/index.php?title=User_FAQ&amp;diff=1337</id>
		<title>User FAQ</title>
		<link rel="alternate" type="text/html" href="https://www.nsnam.org/mediawiki/index.php?title=User_FAQ&amp;diff=1337"/>
		<updated>2007-04-11T18:32:41Z</updated>

		<summary type="html">&lt;p&gt;Yn3T88: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC}}&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;big&amp;gt;The Network Simulator ns-3: Frequently Asked Questions (FAQ)&amp;lt;/big&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This wiki page is devoted to questions for &amp;lt;b&amp;gt;users&amp;lt;/b&amp;gt; of the simulator.  There is a similar [[Developer_FAQ]] page for ns-3 &amp;lt;b&amp;gt;software developers and maintainers&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== What is the difference between ns-2 and ns-3? ==&lt;br /&gt;
&lt;br /&gt;
[http://www.isi.edu/nsnam/ns ns-2] is a popular discrete-event network simulator developed under several previous research grants and activities.  It remains in active use and will continue to be maintained.&lt;br /&gt;
&lt;br /&gt;
[http://www.nsnam.org ns-3] is a new software development effort focused on improving upon the core architecture, software integration, models, and educational components of ns-2.  The project commenced in July 2006 and there have not yet been any releases (pre-alpha stage).&lt;br /&gt;
&lt;br /&gt;
If you are looking for a simulator to currently use for research, please use ns-2.&lt;br /&gt;
&lt;br /&gt;
== Will ns-2 scripts run on ns-3? ==&lt;br /&gt;
No.   ns-2 uses OTcl as its scripting environment.  ns-3 will use C   programs or python scripts to define simulations.&lt;br /&gt;
&lt;br /&gt;
== I found a bug in ns-3.  How do I report it? ==&lt;br /&gt;
&lt;br /&gt;
Please consult [http://www.nsnam.org/contributing.html#bugs this page].  Also, please consider fixing the bug, not just reporting it :)&lt;br /&gt;
&lt;br /&gt;
== Mercurial ==&lt;br /&gt;
&lt;br /&gt;
=== merging a separate repository with a main repository ===&lt;br /&gt;
&lt;br /&gt;
Q.  I want to incorporate some code from a mercurial branch (repository) that is off the main repository.&lt;br /&gt;
&lt;br /&gt;
A.  (from Mathieu Lacage)&lt;br /&gt;
&lt;br /&gt;
You can create a local clone of the repository and pull into it from the main repository: &lt;br /&gt;
you can push these yourself by creating a&lt;br /&gt;
local clone of that repo and then pushing it back to the main repo. It&lt;br /&gt;
will keep the original history; e.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hg clone http://code.nsnam.org/mathieu/ns-3-ptr&lt;br /&gt;
cd ns-3-ptr&lt;br /&gt;
# merge from main ns-3 repository into this other repository&lt;br /&gt;
hg pull http://code.nsnam.org/ns-3&lt;br /&gt;
hg merge&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pushing this new merged repository into another repository will then keep the original change history:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# push back-- must have privileges to push to the repository&lt;br /&gt;
hg push ssh://code@code.nsnam.org/repos/ns-3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== working with subsets of repositories ===&lt;br /&gt;
&lt;br /&gt;
Q.  Is there a way with mercurial to pull/merge/push subsets of the repositories?  For instance, suppose I wanted only to grab the samples directory from a repo and merge that alone.&lt;br /&gt;
&lt;br /&gt;
A.  (from Mathieu Lacage)  You cannot cherry-pick individual changesets other than by exporting&lt;br /&gt;
them to patches first. The reason is that each Changeset contains a&lt;br /&gt;
single hash which is, among others, based on the hash of the 'parent'&lt;br /&gt;
changeset hash. So, if you 'reparent' a changeset, you change its hash&lt;br /&gt;
id because the id of the parent changes. If the hash id of a changeset&lt;br /&gt;
changes, it is a different changeset so, mercurial cannot really manage&lt;br /&gt;
these individual changesets.&lt;br /&gt;
&lt;br /&gt;
So, the idea is that merging happens from one repo to another, and&lt;br /&gt;
cannot be done on a sub-dir basis. The other alternatives are:&lt;br /&gt;
&lt;br /&gt;
1) the latest mercurial has support for in-repo branches: you can&lt;br /&gt;
maintain multiple branches within a single repository but each branch&lt;br /&gt;
represents a branch for the whole repository. &lt;br /&gt;
&lt;br /&gt;
2) the latest mercurial contains the 'forest' extension which is a way&lt;br /&gt;
to make mercurial manage a 'forest' of repos: each repo is independent&lt;br /&gt;
but they also behave as a single big repo through the forest extension.&lt;br /&gt;
&lt;br /&gt;
== Scons (build process) ==&lt;br /&gt;
&lt;br /&gt;
===  Library not loaded error ===&lt;br /&gt;
Question:  On Apple osX, I built ns-3 successfully, but when I try to run a sample program I get something like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; ./sample-packet&lt;br /&gt;
dyld: Library not loaded: build-dir/dbg-shared/lib/libcommon.dylib&lt;br /&gt;
  Referenced from: /tmp/ns-3/build-dir/dbg-shared/bin/./sample-packet&lt;br /&gt;
  Reason: image not found&lt;br /&gt;
Trace/BPT trap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Answer:  This is because the library path variable of your environment does not include the location where the ns-3 modules (libraries) are located.&lt;br /&gt;
&lt;br /&gt;
In OS X, you need to set the DYLD_LIBRARY_PATH variable to include the library directory.  These need to include the lib/ directory where these ns-3 libraries are built. On Linux and Solaris systems, you should never warnings of this kind. If you do, please, report a bug.&lt;br /&gt;
&lt;br /&gt;
In this example, setting&lt;br /&gt;
DYLD_LIBRARY_PATH=/tmp/ns-3/build-dir/dbg-shared/lib/&lt;br /&gt;
will work.&lt;br /&gt;
&lt;br /&gt;
=== How do I do the equivalent of a &amp;quot;make clean&amp;quot;? ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scons -c&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Yn3T88</name></author>
	</entry>
</feed>