diff --git a/doc/installation/source/quick-start.rst b/doc/installation/source/quick-start.rst index 9445b752f..19f00cd28 100644 --- a/doc/installation/source/quick-start.rst +++ b/doc/installation/source/quick-start.rst @@ -42,13 +42,13 @@ source archive download (via a web browser, ``wget``, or ``curl``). | | or ``tar`` and ``bunzip2`` | No minimum version | | | (for Web download) | | +--------------------+--------------------------------------+------------------------------+ - | **Compiler** | ``g++`` | >= 9 | + | **Compiler** | ``g++`` | >= 10 | + + + + - | | or ``clang++`` | >= 10 | + | | or ``clang++`` | >= 11 | +--------------------+--------------------------------------+------------------------------+ - | **Configuration** | ``python3`` | >= 3.5 | + | **Configuration** | ``python3`` | >= 3.8 | +--------------------+--------------------------------------+------------------------------+ - | **Build system** | ``cmake``, | >= 3.10 | + | **Build system** | ``cmake``, | >= 3.13 | + + + + | | and at least one of: | No minimum version | | | ``make``, ``ninja``, or ``Xcode`` | | @@ -80,13 +80,13 @@ Download There are two main options: -1. Download a release tarball. This will unpack to a directory such as ``ns-allinone-3.42`` +1. Download a release tarball. This will unpack to a directory such as ``ns-allinone-3.43`` containing |ns3| and some other programs. Below is a command-line download using ``wget``, but a browser download will also work:: - $ wget https://www.nsnam.org/releases/ns-allinone-3.42.tar.bz2 - $ tar xfj ns-allinone-3.42.tar.bz2 - $ cd ns-allinone-3.42/ns-3.42 + $ wget https://www.nsnam.org/releases/ns-allinone-3.43.tar.bz2 + $ tar xfj ns-allinone-3.43.tar.bz2 + $ cd ns-allinone-3.43/ns-3.43 2. Clone |ns3| from the Git repository. The ``ns-3-allinone`` can be cloned, as well as ``ns-3-dev`` by itself. Below, we illustrate the latter:: @@ -99,7 +99,7 @@ you clone |ns3|, your directory will be named ``ns-3-dev``. By default, Git wil the |ns3| ``master`` branch, which is a development branch. All |ns3| releases are tagged in Git, so if you would then like to check out a past release, you can do so as follows:: - $ git checkout -b ns-3.42-release ns-3.42 + $ git checkout -b ns-3.43-release ns-3.43 In this quick-start, we are omitting download and build instructions for optional |ns3| modules, the ``NetAnim`` animator, Python bindings, and ``NetSimulyzer``. The @@ -125,6 +125,30 @@ and support for |ns3| logging) is what is usually done at first:: Depending on how fast your CPU is, the configuration command can take anywhere from a few seconds to a minute. +You should see some output such as below, if successful:: + + Modules configured to be built: + antenna aodv applications + bridge buildings config-store + core csma csma-layout + dsdv dsr energy + fd-net-device flow-monitor internet + internet-apps lr-wpan lte + mesh mobility netanim + network nix-vector-routing olsr + point-to-point point-to-point-layout propagation + sixlowpan spectrum stats + tap-bridge test topology-read + traffic-control uan virtual-net-device + wifi wimax + + Modules that cannot be built: + brite click mpi + openflow visualizer + +Do not be concerned about the list of modules that cannot be built; these modules are all optional +and require some extra dependencies, but are not needed for initial exploration of |ns3|. + Then, use the ``ns3`` program to build the |ns3| module libraries and executables:: $ ./ns3 build @@ -135,31 +159,9 @@ slower). Additional configuration (not covered here) can be used to limit the s build, and the ``ccache``, if installed, can speed things up. In general, plan on the build taking a few minutes on faster workstations. -You should see some output such as below, if successful:: - - 'build' finished successfully (44.159s) - - Modules built: - antenna aodv applications - bridge buildings config-store - core csma csma-layout - dsdv dsr energy - fd-net-device flow-monitor internet - internet-apps lr-wpan lte - mesh mobility mpi - netanim (no Python) network nix-vector-routing - olsr point-to-point point-to-point-layout - propagation sixlowpan spectrum - stats tap-bridge test (no Python) - topology-read traffic-control uan - virtual-net-device visualizer wifi - wimax - - Modules not built (see ns-3 tutorial for explanation): - brite click openflow - - -Once complete, you can run the unit tests to check your build:: +At the end of the build, if successful, the output will report on the underlying ``cmake`` +build command that was invoked by the ``ns3`` program. Once the build is complete, you can +run the unit tests to check your build:: $ ./test.py diff --git a/doc/tutorial/source/getting-started.rst b/doc/tutorial/source/getting-started.rst index 5c9b0e2e3..525e5d7b6 100644 --- a/doc/tutorial/source/getting-started.rst +++ b/doc/tutorial/source/getting-started.rst @@ -61,7 +61,7 @@ the project provides an installation guide for various systems, available at https://www.nsnam.org/docs/installation/html/index.html. -As of the most recent |ns3| release (ns-3.42), the following tools +As of the most recent |ns3| release (ns-3.43), the following tools are needed to get started with |ns3|: ============ =========================================================== @@ -116,21 +116,21 @@ get a copy of a release by typing the following into your Linux shell $ cd $ mkdir workspace $ cd workspace - $ wget https://www.nsnam.org/release/ns-allinone-3.42.tar.bz2 - $ tar xjf ns-allinone-3.42.tar.bz2 + $ wget https://www.nsnam.org/release/ns-allinone-3.43.tar.bz2 + $ tar xjf ns-allinone-3.43.tar.bz2 Notice the use above of the ``wget`` utility, which is a command-line tool to fetch objects from the web; if you do not have this installed, you can use a browser for this step. Following these steps, if you change into the directory -``ns-allinone-3.42``, you should see a number of files and directories +``ns-allinone-3.43``, you should see a number of files and directories .. sourcecode:: text - $ cd ns-allinone-3.42 + $ cd ns-allinone-3.43 $ ls - bake build.py constants.py netanim-3.109 ns-3.42 README.md util.py + bake build.py constants.py netanim-3.109 ns-3.43 README.md util.py You are now ready to build the base |ns3| distribution and may skip ahead to the section on building |ns3|. @@ -180,7 +180,7 @@ release number: .. sourcecode:: console - $ python3 download.py -n ns-3.42 + $ python3 download.py -n ns-3.43 After this step, the additional repositories of |ns3|, bake, pybindgen, and netanim will be downloaded to the ``ns-3-allinone`` directory. @@ -249,9 +249,9 @@ distribution of your choice. There are a few configuration targets available: -1. ``ns-3.42``: the code corresponding to the release +1. ``ns-3.43``: the code corresponding to the release 2. ``ns-3-dev``: a similar module but using the development code tree -3. ``ns-allinone-3.42``: the module that includes other optional features +3. ``ns-allinone-3.43``: the module that includes other optional features such as bake build system, netanim animator, and pybindgen 4. ``ns-3-allinone``: similar to the released version of the allinone module, but for development code. @@ -268,7 +268,7 @@ code either by inspection of the repository list or by going to the `"ns-3 Releases" `_ web page and clicking on the latest release link. We'll proceed in -this tutorial example with ``ns-3.42``. +this tutorial example with ``ns-3.43``. We are now going to use the bake tool to pull down the various pieces of |ns3| you will be using. First, we'll say a word about running bake. @@ -297,7 +297,7 @@ Step into the workspace directory and type the following into your shell: .. sourcecode:: console - $ ./bake.py configure -e ns-allinone-3.42 + $ ./bake.py configure -e ns-allinone-3.43 Next, we'll ask bake to check whether we have enough tools to download various components. Type: @@ -347,7 +347,7 @@ should yield something like: >> Downloading click-ns-3.37 - OK >> Downloading BRITE - OK >> Downloading openflow-dev - OK - >> Downloading ns-3.42 (target directory:ns-3.42) - OK + >> Downloading ns-3.43 (target directory:ns-3.43) - OK The above suggests that three sources have been downloaded. Check the ``source`` directory now and type ``ls``; one should see: @@ -356,7 +356,7 @@ The above suggests that three sources have been downloaded. Check the $ cd source $ ls - BRITE click-ns-3.37 netanim-3.109 ns-3.42 openflow-dev + BRITE click-ns-3.37 netanim-3.109 ns-3.43 openflow-dev You are now ready to build the |ns3| distribution. @@ -386,7 +386,7 @@ native |ns3| build system, CMake, to be introduced later in this tutorial. If you downloaded using a tarball you should have a directory called something like -``ns-allinone-3.42`` under your ``~/workspace`` directory. +``ns-allinone-3.43`` under your ``~/workspace`` directory. Type the following: .. sourcecode:: console @@ -419,7 +419,7 @@ and you should see something like: .. sourcecode:: text >> Building netanim-3.109 - OK - >> Building ns-3.42 - OK + >> Building ns-3.43 - OK There may be failures to build all components, but the build will proceed anyway if the component is optional. diff --git a/doc/tutorial/source/quick-start.rst b/doc/tutorial/source/quick-start.rst index ff8effaa9..fc7d4e9da 100644 --- a/doc/tutorial/source/quick-start.rst +++ b/doc/tutorial/source/quick-start.rst @@ -64,13 +64,13 @@ Downloading the Latest Release :: - $ tar xjf ns-allinone-3.42.tar.bz2 + $ tar xjf ns-allinone-3.43.tar.bz2 3) Change into the |ns3| directory directly; e.g. :: - $ cd ns-allinone-3.42/ns-3.42 + $ cd ns-allinone-3.43/ns-3.43 The ns-allinone directory has some additional components but we are skipping over them here; one can work directly from the |ns3| source code directory. @@ -92,12 +92,12 @@ only to `cd` into ns-3-dev; the `master` branch is checked out by default. $ cd ns-3-dev -If instead you want to try the most recent release (version 3.42 as of this +If instead you want to try the most recent release (version 3.43 as of this writing), you can checkout a branch corresponding to that git tag: :: - $ git checkout -b ns-3.42-branch ns-3.42 + $ git checkout -b ns-3.43-branch ns-3.43 Building and testing ns-3 *************************