如何使用 bake 安装和构建 NS-3

How to install and build NS-3 using bake

我正在尝试使用 bake 下载、构建和测试 NS-3,方法是在 windows 7 上的 Cygwin 上键入以下命令:

$ cd
$ mkdir workspace
$ cd workspace
$ hg clone http://code.nsnam.org/bake

然后我将目录更改为烘焙目录并键入:

$ export BAKE_HOME=`pwd`
$ export PATH=$PATH:$BAKE_HOME:$BAKE_HOME/build/bin
$ export PYTHONPATH=$PYTHONPATH:$BAKE_HOME:$BAKE_HOME/build/lib

然后:

./bake.py configure -e ns-3.25

我没有在屏幕上显示任何内容,然后输入:

./bake.py check

我在屏幕上显示了以下内容:

> Python - OK
> GNU C++ compiler - OK
> Mercurial - OK
> CVS - OK
> GIT - OK
> Bazaar - OK
> Tar tool - OK
> Unzip tool - OK
> Unrar tool - is missing
> 7z data compression utility - OK
> XZ data compression utility - OK
> Make - OK
> cMake - OK
> patch tool - OK
> autoreconf tool - OK


 > Path searched for tools: /usr/local/bin /usr/bin /cygdrive/d/app/user/product/11.2.0/DB_HOME/bin /cygdrive/d/app/user/product/11.2.0/dbhome_1/bin /cygdrive/c/Windows/system32 /cygdrive/c/Windows /cygdrive/c/Windows/System32/Wbem /cygdrive/c/Windows/System32/WindowsPowerShell/v1.0 /cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/Tools/Binn /cygdrive/c/Program Files (x86)/Microsoft SQL Server/100/DTS/Binn /cygdrive/c/Program Files (x86)/Skype/Phone /cygdrive/c/Users/user/AppData/Local/Programs/MiKTeX 2.9/miktex/bin/x64 /usr/lib/lapack /home/user-PC/ns-3-allinone-74b94ecd0120/ns-3-dev/bake/workspace/bake /home/user-PC/ns-3-allinone-74b94ecd0120/ns-3-dev/bake/workspace/bake/build/bin bin  /home/user-PC/ns-3-allinone-74b94ecd0120/ns-3-dev/bake/workspace/bake /home/user-PC/ns-3-allinone-74b94ecd0120/ns-3-dev/bake/workspace/bake/build/lib

然后我在命令提示符上输入:

$ ./bake.py download

我必须得到以下信息才能完成此过程:

>> Downloading gccxml-ns3 (target directory:gccxml) - OK
>> Searching for system dependency python-dev - OK
>> Searching for system dependency pygraphviz - OK
>> Searching for system dependency pygoocanvas - OK
>> Searching for system dependency setuptools - OK
>> Searching for system dependency g++ - OK
>> Searching for system dependency qt4 - OK
>> Downloading pygccxml - OK
>> Downloading netanim-3.107 - OK
>> Downloading pybindgen-0.17.0.post49+ng0e4e3bc (target directory:pybindgen) - OK
>> Downloading ns-3.25 - OK

但我遇到了以下问题,我不知道如何获得所需的依赖项:

 $ ./bake.py download
 >> Searching for system dependency qt4 - OK
 >> Searching for system dependency g++ - OK
 >> Searching for system dependency setuptools - Problem
 > Problem: Optional dependency, module "setuptools" not available
   This may reduce the  functionality of the final build.
   However, bake will continue since "setuptools" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Searching for system dependency pygoocanvas - Problem
 > Problem: Optional dependency, module "pygoocanvas" not available
   This may reduce the  functionality of the final build.
   However, bake will continue since "pygoocanvas" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Searching for system dependency pygraphviz - Problem
 > Problem: Optional dependency, module "pygraphviz" not available
   This may reduce the  functionality of the final build.
   However, bake will continue since "pygraphviz" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Searching for system dependency python-dev - OK
 >> Downloading gccxml-ns3 (target directory:gccxml) - Problem
 > Problem: Optional dependency, module "gccxml-ns3" failed
   This may reduce the  functionality of the final build.
   However, bake will continue since "gccxml-ns3" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Downloading pygccxml - Problem
 > Problem: Optional dependency, module "pygccxml" failed
   This may reduce the  functionality of the final build.
   However, bake will continue since "pygccxml" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Downloading netanim-3.107 - Problem
 > Problem: Optional dependency, module "netanim-3.107" failed
   This may reduce the  functionality of the final build.
   However, bake will continue since "netanim-3.107" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Downloading pybindgen-0.17.0.post49+ng0e4e3bc (target directory:pybindgen) - Problem
 > Problem: Optional dependency, module "pybindgen-0.17.0.post49+ng0e4e3bc" failed
   This may reduce the  functionality of the final build.
   However, bake will continue since "pybindgen-0.17.0.post49+ng0e4e3bc" is not an essential dependency.
   For more information call bake with -v or -vvv, for full verbose mode.

 >> Downloading ns-3.25 - Problem
 > Error:  Critical dependency, module "ns-3.25" failed
   For more information call Bake with --debug and/or -v, -vvv, for full verbose mode (bake --help)

看来你不见了"Unrar tool"。我这里没有要测试的 cygwin,但你可以试试:

wget http://www.rarlab.com/rar/unrarsrc-5.1.7.tar.gz
tar -xzvf unrarsrc-5.1.7.tar.gz
cd unrar
make

然后运行再次烘焙下载。

来源:https://wjianz.wordpress.com/2014/09/28/howto-extract-rar-files-on-cygwin/