cygwin + NS2 2.28 安装成功 @ 10/13/2005

life in IT industry

欢迎加入cygwin,ns2讨论群:
80751863
46722732
请注明ns2。

这里有Linux命令及环境设置的简单介绍:
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12660

这里有NS2的简单教程(ns by example):
http://nile.wpi.edu/NS/
here is the PDF file:
http://hpc.cs.tsinghua.edu.cn:8899/wiki/images/Ns_by_example.pdf

On editing cygwin files under Windows:
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12763

Ns is a discrete event simulator targeted at networking research. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks.

简单的说,NS-2是一个网络模拟器,所以经常被用到网络课的教学中。

NS-2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2.

为了一个ns2(完成安装后不过100M)而安装linux(RH9完全安装大概在5G左右)实在不值,所以我决定用cygwin

首先去
http://www.cygwin.com/setup.exe
下载setup.exe,运行,得到这个界面:


点下一步,出现这个界面:

选择“Install from Internet”,当然,如果本地已经下载了你所需要的package,也可以选“Install from Local Directory”

接下来选择安装位置:

可以自己选择一个目录安装。现在(10/13/05)的cygwin版本跟NTFS完全兼容,所以不用担心,可以放心的把它装在NTFS分区。至于Test File Type,建议最好设成unix,虽然我没试过用dos格式,但是鉴于OpenSource的软件原本都是linux/unix下的,所以最好还是用unix

继续下一步

选择一个保存package的地方,我们要用到的package大小大概是60M。当然,如果选择的是Install From Local Directory,那么这一步就会变成“指定package所在的位置”

下一步

指定代理服务器。教育网内的机器是没办法直接上国外网的,所以要指定代理。最该死的是它的 mirror list放在国外,所以即使你知道一个国内的ftp地址(可以下载package的地址,比如ftp://ftp.sjtu.edu.cn/cygwin),你也得指定代理服务器,要不然你就没办法获得mirror list,安装就进行不下去。清华校内的话,除实验室之外推荐使用代理,强烈建议不要直接连国外,要知道国际流量可是 1元/MB,安装一次就需要60RMB!

下一步

选择镜像站点。cygwin有很多镜像站点(但是上面列的都是国外的),可以选择其中一个下载package。也可以自己指定一个站点。比如,如果要用ftp://ftp.sjtu.edu.cn/cygwin,可以在User URL中填这个地址,然后点add,就能将这个地址加到上面的镜像列表中,然后可以选择这个镜像进行安装。

下一步

选择要安装的软件包。这里我只列出ns2需要的包,其中不包括安装程序默认安装的包:
gcc
gcc-g++
gnuplot
make
patch
perl
tar
X-startup-scripts
xorg-x11-base
xorg-x11-bin
xorg-x11-devel
xorg-x11-bin-dlls
xorg-x11-bin-lndir
xorg-x11-etc
xorg-x11-fenc
xorg-x11-fnts
xorg-x11-libs-data
xorg-x11-xwin
点右上角的view,使它旁边的状态显示为Full,你就能看到按字母顺序排序的package列表,在这些包前点鼠标,使它们处于非“Skip”的状态

下一步

开始下载文件,准备安装。下载过程会比较慢,因为总文件有60多M,且分成很多小文件。如果是代理服务器,可能还会更慢,推荐早上开机安装,然后去上自习,估计中午就能下完了  :-P

下载完成后,系统会自动开始安装

安装过程还是比较慢的,耐心等待就是了

安装完成


让人高兴的提示


到这里,cygwin安装完成,这时桌面上应该出现了一个cygwin的图标,点击运行,就能看到cygwin的界面了



接下来就是安装ns2了
先去
http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz
下载ns-allinone安装包。当然也可以选择下载单独的包,然后一个一个安装,不过真的不推荐,因为太麻烦了

下载完后,用winrar(我确定winzip能不能解压tar格式的文件,谁试试,告诉我一声)把里面的文件都解压到 cygwin安装目录下的 home目录的子目录下,比如在我这里就是  c:\cygwin\home\hct 。

启动cygwin,
cd /home/hct/ns-allinone-2.28
./install
安装过程就开始了。由于目录不一样,上面的命令可能不太一样。

安装过程是很漫长的,因为我们下载的是源文件,机器还得先编译,等吧……

安装完后会出现这个提示:


这时还需要修改路径信息,把可执行文件的路径加到PATH环境变量中
打开 c:\cygwin\home\hct\.bashrc (当然,根据安装路径不同,这个文件所处的位置也不同),在文件末尾加入这些信息:

export NS_HOME=/home/hct/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library

.bashrc文件可以用记事本打开,不过最好用UE,因为它是unix格式的文本
加入后的文件像这样:
http://www.sinzy.net/Test/i1/20051013132448_1dwgbc45_.bashrc

现在我们的工作就基本完成了。
保存.bashrc,打开cygwin,运行 startxwin.bat
这时应该出现这样的窗口:


运行
cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples
ns example2.tcl

应该会出现这样的窗口:

这就表示ns2安装圆满完成了!


Problems & Solutions

P:  运行 startxwin.bat 时提示“No Such File or Directory”
S:  可能是没有安装X-Startup-Scripts,重新运行setup.exe,然后选择安装就行了
    也可能是环境变量没有设置好,按上面的设置再检查一遍,注意要把 hct 改成你相应的名字
    另外,应该运行 startxwin.bat ,不能只打 startxwin

P:  运行 ns examples2.tcl 时提示" no such file or directory"
S:  如果是找不到 examples2.tcl 那就是你打 cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples 的时候出了错
    如果是找不到ns,那就是环境变量没设置好

P:  运行 ns examples2.tcl 时提示“nam:  no such file or directory”
S:  看看你的 /home/hct/ns-allinone-2.28/nam-1.11 目录下有没有 nam.exe 文件,有的话就是你的环境变量设置错了,注意要把 nam-1.11 这个目录加到PATH中
    如果没有nam.exe,那就是编译nam时出错了。运行 gcc -dumpversion 看看你的gcc版本,如果是3.4.x,那就好办了。找到 nam-1.11/agent.h ,把它的第73行中的NULL改成0,然后回到nam-1.11目录,运行 ./configure 然后运行 make,等运行完毕,再试试 ns example2.tcl 就应该没问题了
    如果gcc版本不是3.4.x,那就不知道是什么问题了,不过可以肯定是编译出了错,所以换个nam版本试试吧

P: 编译nam时出错:can't find X includes
S: 安装libXt-devel

P: 编译nam时出错:x11/xmu/winutil.h: No such file or directory
S: 安装libXmu-devel


References:
http://x.cygwin.com/docs/ug/setup-cygwin-x-installing.html
http://140.116.72.80/~smallko/ns2/setup.htm


23/4/2007更新--关于路径设置的问题,请参考
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12763
http://www.sinzy.net/blog/Read.asp?ID=77&BID=12660



[/more]
发布于 10/13/2005 13:46:20 | 评论:87
天魔 @ 10/13/2005 13:51:23
不愧是软件版主,呵呵,真详细!
PS: 长文的话,推荐使用 [ more ] 标签,参见:http://www.sinzy.net/Blog/Read.asp?ID=1&BID=7281
<匿名人士> @ 10/13/2005 13:56:30
昨天在自己的机器上装了2.27,搞得灰头土脸才搞定,因为cygwin每个版本的package都不一样,我以前也没怎么弄过OpenSource的软件,所以走了很多弯路

今天到实验室装2.28,以为很快就能搞定,结果弄了一早上,到现在才弄好。主要的问题就是nam的编译问题,这个问题在 ns2 的讨论区已经帖出来了,但不知道为什么,这帮人就是不肯自己把程序改一下,所以到现在从网站上下载下来的程序还是有这个问题,只能手动去改agent.h。

不过最变态的还是tcl的编程,昨天试了一下,发现tcl解释器对格式的要求简直高得变态,比如 if{}else{} 语句,只能这么写:
if { } {

} else {
}
其中 else 之前跟之后都要有空格,要不然就编译不过去,我就ft
看来OpenSource的用户友好度也就只能到这种程度了,除非有像RH这样的公司介入,才能使OpenSource的软件稍微有点人性
新手上路 @ 2/21/2006 11:27:58
麻烦斑竹

    可以给一个代理地址吗
 
              谢谢啊!!!
<匿名人士> @ 2/21/2006 13:41:34
代理很多啊,不过都很慢的说
清华的直接上 proxy.ipcn.org/proxylist.html 有一堆
外校的上新水木的 NetResource版,那里也有经常更新的代理列表
试试这个能不能用:
dns.jdntc.edu.cn:80
CooCoo @ 3/12/2006 15:05:28
我的 WinXP下的帐号有个空格,结果
cygwin 的loginid也有个空格,好像NS不能装在有空格的目录下面。

我应该怎么在cygwin下增加一个用户呢?

我在xp下增加了一个用户,并在cygwin中mkpasswd了
一下,导入用户,但是,却不能su过去。permission denied。

不知该如何解决,3x

hjk41 @ 3/12/2006 21:46:41
执行mkpasswd的那个账号好像得是管理员,要不然就会permission denied
如果还不行就先用原来那个有空格的账号登录,然后执行
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/passwd
然后切换到新增加的用户看看,应该就可以了
mlr @ 4/11/2006 22:18:15
谢谢楼主,我我按你的方法安装了ns-allinone-2.28,本来有三个错误的,
Please compile your nam separately.
Please compile your xgraph separately.
Please compile your gt-itm & sgb2ns separately.
第一个解决一,还两个怎么办呢,是不是要重新下载啊
hjk @ 4/11/2006 23:48:58
xgraph是在处理结果的时候用的,如果你用其它软件处理的话就不用装它了。而且xgraph应该不是ns带的吧……我也忘了。如果是ns自带的,应该能找到目录,进那个目录./cofigure然后make就行了
至于第三个,我没见过,应该不是必需要装的,用到的时候再装就行
mlr @ 4/12/2006 8:09:02
  其它绘图软件会不会难些吧,后来我按你的方法make了,还是不行。现在打算重新再下一次ns-allinone-2.28,估计是里面有问题。
  我也不知道gt-itm有没有用。
  那你知不知道: ns2下网络拥塞控制与服务质量的仿真实验的研究 这个题目要不要用到那些东西。我现在还没入门的。好烦呢
mlr @ 4/12/2006 8:18:18
还有就是,可以介绍一款好用的绘图软件吗,最好有中文说明的。xgraph是自带的,有目录,安装时说找不到部份文件。
hjk @ 4/12/2006 17:12:06
重新下一个ns的包试试
xgraph是自带的,刚看到,呵呵
安装完试试上面说的那个示例程序,如果能跑起来就问题不大

网络拥塞控制在ns里已经有很多实现了。至于Qos,我没用到,不知道有没有实现,如果没有实现的话就得自己写代码。
入门的话看看这个不错:
http://nile.wpi.edu/NS/

xgraph使用比较方便啦,其它当然也有,不过还得装。而要中文说明的,那估计就难找了,linux下的东西很少有国人写的,所以中文说明也就比较少了
mlr @ 4/13/2006 20:33:05
谢了,可是,我重装了个cygwin现在的问题是连ns都不能装了。2.28 2.29 2.29.1 2.29.2 全卡在
make: *** [install-doc] Error 254
tcl8.4.5 installation failed.
Tcl is not part of the ns project.  Please see www.Scriptics.com
to see if they have a fix for your platform.
这里了。郁闷啊。
感觉各个站点的cygwin,各个ns-allinone2都有问题,怎么就没得个好的没问题的呢。
而且怎么有的是说要选xfree什么的。是不是版本不一样啊

hjk @ 4/14/2006 13:10:45
google 一下 "ns tcl make Error 254",估计跟gcc版本有关

XFree只要装了那几个包就行,版本上没什么问题,因为只是为了运行xgraph跟nam,只要startxwin能启动起来就行
mlr @ 4/14/2006 19:39:30
谢谢了
  我今天重新还原了系统。再装了一遍,换了个 cygwin 和ns2.29,2、好像成功了,不要我重编译了。
  虽然测试好像有几个没通过,不过应该没关系的。能运行awk和xgraph绘图了。
  测试信息如下:
  、、All test output agrees with reference output.
Fri Apr 14 14:28:31    2006
These messages are NOT errors and can be ignored:
    warning: using backward compatibility mode
    This test is not implemented in backward compatibility mode


validate overall report: some tests failed:
    ./test-all-smac-multihop ./test-all-wireless-tdma
to re-run a specific test, cd tcl/test; ./test-all-TEST-NAME
Notice that some tests in webcache will fail on freebsd when -O is turned on.
This is due to some event reordering, which will disappear when -g is turned on.


Cygwin >= 1.3.19 detected (1.5.18), all tests should have passed.
Please see <http://www.isi.edu/nsnam/ns/ns-problems.html>
for potential solutions.

如果有空就帮我看看。就是有关无线的例子不能用。不过估计我题目也用不上那些。
  没空的话,就算了。谢了。

  
mlr @ 4/15/2006 19:17:02
现在一切搞定,能用了。真是太好了。楼主不用替我担心了。呵呵!
<匿名人士> @ 4/26/2006 23:14:37
我按照步骤来到运行这个ns example2.tcl
bash: ns: command not found
这是怎么回事?
求助,都最后一步了
hjk @ 4/27/2006 10:18:40
先看看ns-allinone-2.28/ns-2.28里有没有ns这个可执行文件,没有的话就是编译没成功

如果有的话,就是环境变量没设好
echo $PATH 看看输出的环境变量里有没有错误
<匿名人士> @ 4/27/2006 13:04:54
没有,没有编译成功,我是完全按照上述步骤,怎么解决没有编译成功的问题?
hjk @ 4/28/2006 19:48:20
运行 make 看看错误信息
hawk @ 5/3/2006 14:19:57
可是,我重装了个cygwin现在的问题是连ns都不能装了。2.28 2.29 2.29.1 2.29.2 全卡在
make: *** [install-doc] Error 254
tcl8.4.5 installation failed.
Tcl is not part of the ns project.  Please see www.Scriptics.com
to see if they have a fix for your platform.
这里了。郁闷啊。
感觉各个站点的cygwin,各个ns-allinone2都有问题,怎么就没得个好的没问题的呢。
"ns tcl make Error 254",估计跟gcc版本有关???倒底应该装什么样的版式本呢?
hawk @ 5/3/2006 14:21:16
有没有介绍现今版本的安装的?
hjk41 @ 5/3/2006 19:08:28
cygwin+ns2的确不好装,经常出问题,不嫌麻烦的话装个linux吧,可能花的时间还比装cygwin少呢,linux下装ns2好像比较少出问题

你那个make错误很可能就是gcc的版本造成的,你进tcl-8.4.5目录运行make看看哪个文件出错,如果看得懂输出信息的话可以自己看看能不能解决

至于介绍新版本安装的文章,只能去google了,不过一般都不可能刚好是最新版本的啦
zhang @ 5/10/2006 12:17:48
请教楼主:
在选择ns2需要的软件包的时候选你列出的就可以了吗 ?
我按照选的装完以后 在动cygwin进行下一步安装的时候不久就报错了:
no file or directory under:home/user/ns-allione-2.29/tcl8.4.15,不知道该如何办啊?
hjk @ 5/11/2006 13:32:15
估计是你的压缩文件没有解压成功,或是你下的压缩包有问题。其实你可以在windows直接用winrar打开压缩包,然后看看是不是有那tcl8.4.15目录,如果压缩包里有的话,那估计就是你的tar程序有问题,你可以直接用winrar把压缩文件解压到你要的目录里,或是重装tar

我列出的只是ns2要用到的东西,像bash,cygwin这样基本的软件包没列出来,你运行cygcheck -cd看看你都安装了哪些包,下面是我安装的包:
Cygwin Package Information
Package              Version
_update-info-dir    00321-1
alternatives        1.3.20a-1
ash                  20040127-3
base-files          3.6-1
base-passwd          2.2-1
bash                3.0-11
binutils            20050610-1
bzip2                1.0.3-1
coreutils            5.3.0-9
crypt                1.1-1
cygutils            1.2.9-1
cygwin              1.5.18-1
cygwin-doc          1.4-3
diffutils            2.8.7-1
editrights          1.01-1
expat                1.95.8-1
findutils            4.2.25-2
fontconfig          2.2.2-1
freetype2            2.1.9-1
gawk                3.1.5-1
gcc                  3.4.4-1
gcc-core            3.4.4-1
gcc-g++              3.4.4-1
gcc-mingw-core      20050522-1
gcc-mingw-g++        20050522-1
gdbm                1.8.3-7
gettext              0.14.1-1
gnuplot              4.0.0-1
grep                2.5.1a-2
groff                1.18.1-2
gzip                1.3.5-1
less                381-1
libbz2_1            1.0.3-1
libcharset1          1.9.2-1
libdb4.2            4.2.52-1
libdb4.3            4.3.28-1
libfontconfig-devel  2.2.2-1
libfontconfig1      2.2.2-1
libfreetype2-devel  2.1.9-1
libfreetype26        2.1.9-1
libgd2              2.0.33-1
libgdbm              1.8.0-5
libgdbm-devel        1.8.3-7
libgdbm3            1.8.3-3
libgdbm4            1.8.3-7
libiconv            1.9.2-1
libiconv2            1.9.2-1
libintl              0.10.38-3
libintl1            0.10.40-1
libintl2            0.12.1-3
libintl3            0.14.1-1
libjpeg62            6b-11
libncurses5          5.2-1
libncurses6          5.2-8
libncurses7          5.3-4
libncurses8          5.4-4
libpcre0            6.3-1
libpng12            1.2.8-2
libpopt0            1.6.4-4
libreadline4        4.1-2
libreadline5        4.3-5
libreadline6        5.0-4
libXft              2.1.6-1
libXft-devel        2.1.6-1
libXft1              1.0.0-1
libXft2              2.1.6-1
login                1.9-7
make                3.80-1
man                  1.5p-1
mingw-runtime        3.8-1
mktemp              1.5-3
ncurses              5.4-4
patch                2.5.8-8
pcre                6.3-1
pcre-devel          6.3-1
pcre-doc            6.3-1
perl                5.8.7-4
sed                  4.1.4-1
tar                  1.15.1-2
termcap              20050421-1
terminfo            5.4_20041009-1
texinfo              4.8-1
w32api              3.3-1
which                1.7-1
X-startup-scripts    1.0.10-4
xorg-x11-base        6.8.2.0-1
xorg-x11-bin        6.8.2.0-1
xorg-x11-bin-dlls    6.8.2.0-1
xorg-x11-bin-lndir  6.8.2.0-1
xorg-x11-devel      6.8.2.0-2
xorg-x11-etc        6.8.2.0-1
xorg-x11-fenc        6.8.1.0-2
xorg-x11-fnts        6.8.1.0-3
xorg-x11-libs-data  6.8.2.0-1
xorg-x11-xwin        6.8.2.0-4
xterm                202-1
zlib                1.2.3-1
zzd @ 5/12/2006 9:22:05
有出了如下的一个错误:
编译的时候,很快就编译完了,大概不到1分钟:
显示:
tcl8.3.2 configuration failed!
是不是 和 tcl的版本有关呢?
hjk @ 5/12/2006 13:34:53
不一定
你进tcl的目录运行 ./configure 应该能看到更详细的错误信息
飘摇 @ 5/12/2006 23:20:06
昏迷我也出现的这个问题:
bash: ns: command not found
zzd @ 5/14/2006 18:14:45
谢谢楼主,我的ns2装上了,你的网志给了我莫大的帮助!
光临了20多次,呵呵
NJUWU @ 5/19/2006 16:31:14
今天装cygwin+ ns2.29也是那个TCL的configure过不去,试了ns2.27仍旧不行。
先报一个‘  OSF*)'的"unexpected..."之类的错误,我就把’  OSF*)'前面的一段注解去掉了(注解可能影响了case语句的解释),这个错误过了;
然后再试,发现执行到最后一句说syntax error:非正常退出;
现在想试试ns2.28如何。

那位高人指点一下啊
NJUWU @ 5/19/2006 17:11:03
直接转到Linux环境下试了一下,正编译着欢呢
quick @ 6/26/2006 9:45:36
我在安装过程中
显示:
tcl8.3.2 configuration failed!
哪位仁兄告诉一下解决的方法.期待您的指点.
lang @ 7/8/2006 18:01:39
2.29+cygwin 1.5.9,同样的tcl错误!
help!!!!!!!!
sera @ 12/16/2006 0:17:59
求助楼主!
按你的方法,进行到运行startxwin.bat时出现“系统找不到指定路径”,经cygcheck -cd命令看到X-Startup-Scripts包已经装上,而且那段添加的环境变量的代码就是直接改了楼主的用户名后直接copy过去的。还可能是什么地方有问题呢?急啊……
李希 @ 1/13/2007 0:47:13
我在安装NS EXAMPLE2.TCL时出现COMMAND  NOT FOUND .这是怎么回事
永义 @ 1/27/2007 18:07:05
求NS2下,模拟自相似网络数据流代码。跪求!
hhhhh @ 3/13/2007 17:11:18
求助 

和sera @一样的问题  进行到运行startxwin.bat时出现“系统找不到指定路径”,经cygcheck -cd命令看到X-Startup-Scripts包已经装上,而且那段添加的环境变量的代码就是直接改了楼主的用户名后直接copy过去的。还可能是什么地方有问题呢?
红枭之翼 @ 3/14/2007 0:29:38
安装NS2后没有生成bashrc文件?
南开 @ 4/3/2007 15:04:12
不知道是博客的主人(好心人啊)疏忽还是不同机器导致结果不同,我按照博客中的说明一步步装的,无法启动xwindow,后来才发现楼主的startxwin.bat应该是startx才对,然后后面有人提到的nam无法启动问题也就自动解决了~
不过还是感谢楼主
大家有问题互相交流哦
笨死了 @ 4/8/2007 5:18:06
修改环境变量后,打开cygwin将出现n行bash:$'\r':command not found
该怎么解决啊
hjk @ 4/13/2007 17:52:39
er...
不同的cygwin版本会有不同的命令,所以会有startx和startxwin的问题,不知道 南开 用的什么版本

其实有条件的话还是建议大家在Linux下装ns2,可以省好多麻烦。。。

另外,如果有基本的shell命令使用经验,搞定cygwin也是很容易的,改天有空我贴一个吧
Linda @ 5/9/2007 17:56:57
请教:
我因为要模拟一个蓝牙散射网(scatternet),需用到bluehoc,但bluehoc 要与ns2.1b8a相配.我选择安装了所有的cygwin packet,安装cygwin成功了.然后我开始安装2.1b8a, 但出现了error: can't find X library. 请问有谁在cygwin 上安装过ns2.1b8a吗?怎么解决它?

非常感谢
vivian @ 5/10/2007 8:54:23
请问一下,安装ns时出现如下错误是怎么回事?谢谢
/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: ln: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: rm: permission denied

/home/Administrator/ns-allinone-2.28/tk8.4.5/unix/mkLinks: Cannot fork: Permissi
on denied
make: *** [install-doc] Error 2
tk8.4.5 installation failed.
Tk is not part of the ns project. Please see www.Scriptics.com
to see if they have a fix for your platform.

hjk @ 5/13/2007 19:14:58
error: can't find X library 是因为你安装cygwin的时候没把X程序库装上,重新安装下cygwin,把X开头的包都选上就行了

Permission denied 是因为权限不够,你看看能不能删除这个目录(进入 /home/Administrator/ns-allinone-2.28/,运行rm -rf tk8.4.5),删除以后重装下ns2
hjk @ 5/16/2007 15:35:43
关于TCL编译错误的问题,一般是gcc引起的,cygwin的新版本默认安装gcc 4.x,但TCL很可能不支持新版本的gcc,导致编译错误。解决方法是在安装cygwin时,到选择软件包时,选择gcc 3.4版本

如果windows用户名中有中文或空格,安装完cygwin可能不能正常运行。解决方法是在windows中更改用户名,改成英文名,然后进入cygwin,运行
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
lp @ 5/21/2007 18:57:12
各位前辈:
  我是一个新手,在安装cygwin时没有x-free86的包,我没有选择这个包就安装完了,但是安装成功以后,在cygwin的文件下没有home文件夹,运行cygwin后还是没有,请各位前辈赐教,谢谢了
<匿名人士> @ 5/31/2007 22:39:18
我安装cygwin后出现的错误如下:
bash:$'{\r': command not found
':not a valid identifier
bash:$'{\r': command not found

有哪位仁兄能指教下啊,谢谢!!我做实验要用啊,急啊~~~~~
<匿名人士> @ 5/31/2007 22:50:09
我安装cygwin后出现的错误如下:
bash:$'{\r': command not found
':not a valid identifier
bash:$'{\r': command not found

有哪位仁兄能指教下啊,谢谢!!我做实验要用啊,急啊~~~~~
batiwxy @ 6/24/2007 19:59:42
bash:$'\r': command not found
为什么老是提示这样的错误啊?
我都装了不知道多少遍了?
高手帮帮我吧快崩溃了!但是运行例子还是可以的。
hjk @ 6/25/2007 11:24:09
安装的时候有个选项是选使用dos格式文本还是unix格式的,如果选了unix模式,那么**千万**不要用记事本编译 .bashrc 文件,否则会出很多莫名其妙的错误。估计楼上的错误就是这么出来的

编译.bashrc文件要用UltraEdit
另外输入命令的时候注意看是不是把输入法关掉了,输入法打开时输入的字符一般是全角字符,cygwin是不认的
batiwxy @ 6/30/2007 17:35:15
多谢楼上的我是那样做的,不过我还没有按照你的说法做,呵呵,不管怎么样,一定非常非常的感激你
shawnqin @ 7/10/2007 21:43:27
今天按照楼主的说明在xp下成功安装了cygwin和ns2,在此感谢楼主提供的详细的安装说明。顺便把今天遇到的两个问题及解决办法贴出来,免得大家走同样的弯路。
1、在安装cygwin时总是提示找不到diff文件,明明安装时选上了还是不行。后来才发现一定要在cygwin下用tar命令解压ns-allinone-2.28的压缩文件才行。
2、楼主提到的修改环境变量时提到要把以下代码加入到agent.h文件后面。
export NS_HOME=/home/hct/ns-allinone-2.28
export PATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library
其中第一行中的hct是指用户名,一定记得改成你自己的用户名,不然在后面运行startxwin.bat时会出错的。

希望对大家有帮助。
windy @ 7/17/2007 11:49:01
好不容易将CYGWIN和NS2安装好,但在运行example2.tcl时却出现了如下的提示错误
nam: no display name and no $DISPLAY environment variable
将环境变量DISPLAY设成0.0后,又出现了如下错误
nam: this isn't a Tk applicationcouldn't connect to display ":0.0"
请高手帮助,如何解决?谢谢!
windy @ 7/17/2007 19:12:33
快帮帮我,我实在是没着了
windy @ 7/17/2007 19:28:02
请高手帮忙!!!!!
windy @ 7/18/2007 16:13:14
问题已解决^_^!!
cindy @ 8/12/2007 19:59:25
宝宝你真厉害,都不知道这个帖子这么久了还有人在顶*^_^*
小天 @ 9/21/2007 9:34:23
好不容易将CYGWIN和NS2安装好,但在运行example2.tcl时却出现了如下的提示错误
nam: no display name and no $DISPLAY environment variable
将环境变量DISPLAY设成0.0后,又出现了如下错误
nam: this isn't a Tk applicationcouldn't connect to display ":0.0
关于这个问题 我也也遇到过  我建议你去我的博克克看看http://dch6383.blog.sohu.com/40537192.html
会有帮助的
<匿名人士> @ 9/28/2007 16:07:32
nam: no display name and no $DISPLAY environment variable

这个一般是因为没有用startxwin.bat启动
ludelai @ 9/29/2007 13:01:51
put ns.exe and nam.exe into "ns-tutorials/examples" path

and try agian

a very boring work to install ns2 on cygwin platform!
xx @ 10/23/2007 19:43:46
请问:
    安装中提示我没有diff,不适合ns2,怎么办啊?
lengda @ 10/25/2007 11:55:57
我是在linux下装的ns
执行到ns simple.tcl
报错“running nam…
[root@localhost ex]# X Error of failed request:BadValue (integer parameter out of range for operation)
Major opcode of failed request:45(X_OpenFont)

很不懂
<匿名人士> @ 10/27/2007 20:53:07
Do you wish to proceed regardless?[y/N]

这就是刚开始./install命令的时候弹出来的,如果我选N,马上就会回到administrator@zjnx~
下面来了!!!

如果选项Y,接着还是继续会弹出这样的对话框!!!!
<匿名人士> @ 10/27/2007 20:55:54
郁闷原来是GCC没有安装!!!害得我得重新SETUP!!!倒
tiger @ 11/10/2007 19:54:14
为什么我安装后文件里没有home文件和用户名文件 我输入pwd 发现目录在C:\Documents and Settings\Tiger里面 而且这样的话能够安装但是输入执行例子的事后提升找不到ns 应该是环境变量的问题 但是环境变量的文件应该在home\Tiger里面
按上面说的。。开始就没有产生这个文件。。 为什么会这样  有什么解决方法? 谢谢
hjk @ 11/11/2007 11:29:12
没有 /home 目录的解决方法:
自己建一个/home目录

mkdir /home
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
菜鸟 @ 11/15/2007 16:59:19
我是新手,在安装过程的最后一步出现的这个问题:
bash: ns: command not found
根据上面提供的解决办法试过了,还是不行
还可能是什么原因呢?
郁闷,郁闷,郁闷阿!

菜鸟 @ 11/15/2007 17:02:48
补充:ns-allinone-2.28/ns-2.28里有ns这个可执行文件
hjk @ 11/15/2007 20:24:32
显然你的路径设置还是有问题,呵呵
加入文章开头那个QQ群吧,在上面看看有没有人能帮你看 .bashrc文件
youyou @ 11/15/2007 22:12:22
谢谢楼主,受益匪浅!
<匿名人士> @ 3/30/2008 15:33:21
谢谢楼主!
<匿名人士> @ 3/10/2009 9:48:55
输入 startxwin.bat后不出现窗口,右下角有个图标,但是鼠标移上去就没有了,这是什么问题
cx @ 8/23/2009 18:57:34
关于“系统找不到指定路径”的问题,是这样的,尽管可能装了startup-X-scripts,但是在windows下,可能你没有将cygwin的目录放在某盘的根目录下,比如c:\cygwin,或者是d:\cygwin,那么这个时候在运行startxwin.bat这个批处理时,就找不到路经。可以用ue打开这个批处理文件,将root的路径改成你当前的cygwin所在路径即可
jkzhaong @ 9/10/2009 0:18:56
如果windows用户名中有中文或空格,安装完cygwin可能不能正常运行,按你的方法,不能实现呀,请问怎么解决,,
jkzhaong @ 9/10/2009 0:22:55
还有一个问题是在wygwin上安装cmocha,用make命令后提示:
make: ***no targets specified and no makefile found.stop
请问应该怎么解决,,readme上说可能是flex 和bison版本不对,,楼主帮我看下,先谢谢了,期待回复,,
YYG @ 10/14/2009 16:19:54
楼主你好我的路径设置完成之后再终端下输入ns后产生如下信息
root@administrator-desktop:~# ns
Usage:      host [-v] [-a] [-t querytype] [options]  name  [server]
Listing:    host [-v] [-a] [-t querytype] [options]  -l zone  [server]
Hostcount:  host [-v] [options] -H [-D] [-E] [-G] zone
Check soa:  host [-v] [options] -C zone
Addrcheck:  host [-v] [options] -A host
Listing options: [-L level] [-S] [-A] [-p] [-P prefserver] [-N skipzone]
Common options:  [-d] [-f|-F file] [-I chars] [-i|-n] [-q] [-Q] [-T] [-Z]
Other options:  [-c class] [-e] [-m] [-o] [-r] [-R] [-s secs] [-u] [-w]
Special options: [-O srcaddr] [-j minport] [-J maxport]
Extended usage:  [-x [name ...]] [-X server [name ...]]


这是什么问题导致的啊?怎么解决啊?谢谢。我是新手
YYG @ 10/14/2009 16:21:38
我用的是ubuntu2谢谢
YYG @ 10/14/2009 16:22:19
我用的是Ubuntu2.谢谢了
<匿名人士> @ 10/15/2009 21:47:17
thinkpad@thinkpad-PC ~
$ cd /home/thinkpad/ns-allinone-2.29/ns-2.29/ns-tutorial

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial
$ cd examples

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial/examples
$ ns example2.tcl
ns: finish: couldn't execute "nam": no such file or directory
    while executing
"exec nam out.nam &"
    (procedure "finish" line 7)
    invoked from within
"finish"

thinkpad@thinkpad-PC ~/ns-allinone-2.29/ns-2.29/ns-tutorial/examples
$
请大虾指点一下。。。。搞几天了也没装好。。。
hjk @ 10/18/2009 12:24:37
楼上加qq群吧。这个问题基本上是路径设置错了
<匿名人士> @ 11/21/2009 12:13:29
 
小龙 @ 11/21/2009 12:16:18
楼主你好,我装的NS2.30,在运行cygwin时,提示 bash:export:"" not a valid identifier.请问怎么修改

























































































































张张 @ 5/10/2010 17:25:25
最后一步中输入cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples
bash: cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples: No such file or directory
是怎么回事啊,弄了半天,急死人了
<匿名人士> @ 5/11/2010 2:55:06
感谢楼主,不过我用startxwin.bat的时候不能打开新的窗口,用startxwin就能,我不知道是为什么
张张 @ 5/11/2010 9:15:14
请问楼上的,你安装好了吗,有没有出现我这样的问题?
最后一步中是输入cd/home/Administrator/ns-allinone-2.28/ns-2.28/ns-tutorial/examples吗?

芳芳 @ 3/7/2011 20:41:35
非常感谢楼主的帮助,上面提到的问题我基本上都碰到了,现在终于快解决了安装的问题。尤其是有个群特别好,里面的同学们特别热心!
开怀一乐 @ 4/3/2011 14:49:46
NS2应该是安装成功的 有时候输入startxwin.bat后不出现窗口,右下角有个图标,但是鼠标移上去就没有了 求求高人指点下
Eric_918 @ 5/12/2013 11:42:01
照楼主说的安装了ns-allinone-2.35 安装过程顺利,但是安装完后测试wireless-dsdv-newnode.tcl例子时出现如下错误
num_nodes is set 50

    (_o16 cmd line 1)
    invoked from within
"_o16 cmd random-motion 0"
    invoked from within
"catch "$self cmd $args" ret"
    invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
    (procedure "_o16" line 2)
    (SplitObject unknown line 2)
    invoked from within
"$node_($i) random-motion 0            "
    invoked from within
"if { [string compare $opt(rp) "dsr"] == 0} {
        for {set i 0} {$i < $opt(nn) } {incr i} {
                dsr-create-mobile-node $i
        }
} elseif { [string compare $op..."
    (file "wireless-dsdv-newnode.tcl" line 176)
运行另一个脚本时也在新建节点时出现了错误,脚本如下:
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
set val(ifqlen) 50
set val(nn) 50
set val(rp) AODV
set opt(cp) "cbr1"
set opt(sc) "scence1"

puts "\n"
puts "Simulation of a simple wireless topology running with AODV\n"
puts "Starting simulation...\n"

set ns_ [new Simulator]
set tracefd [open aodv.tr w]
$ns_ use-newtrace
$ns_ trace-all $tracefd
set namtracefd [open aodv.nam w]
$ns_ namtrace-all-wireless $namtracefd 1000 300
set topo [new Topography]
$topo load_flatgrid 1000 300
set god_ [new God]
create-god $val(nn)

$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF \
-movementTrace OFF \
for {set i 0} {$i < $val(nn)} {incr i} {
set node_($i) [$ns_ node]
$node_($i) random-motion 0
}

puts "Loading connection pattern file\n"
source $opt(cp)
puts "Connection pattern file loading complete...\n"

puts "Loading scenario file...\n"
source $opt(sc)
puts "Scenario file loading complete...\n"
puts "Simulation may take a few minutes...\n"
puts "A sample script runs"
#设置在nam中移动节点显示的大小,否则,nam中无法显示节点
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ initial_node_pos $node_($i) 20
}
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ at 300.1 "$node_($i) reset"
}
$ns_ at 300.2 "stop"
$ns_ at 300.3 "puts\”Simulation runs sucessfully and NS exiting…\"; $ns_ halt"
proc stop {} {
global ns_ tracefd namtracefd
$ns_ flush-trace
close $tracefd
close $namtracefd
exec nam aodv.nam &
exit 0
}
puts $tracefd "Here is a trace for simple wireless simulation\n"
puts $tracefd "The nodes movement file is $opt(cp)\n"
puts $tracefd "The traffic flow between nodes is $opt(sc)\n"
$ns_ run
出现如下错误:
num_nodes is set 50
warning: Please use -channel as shown in tcl/ex/wireless-mitf.tcl
Loading connection pattern file

can't read "node_(1)": no such variable
    while executing
"$ns_ attach-agent $node_(1) $udp_(0)"
    (file "cbr1" line 8)
    invoked from within
"source.orig cbr1"
    ("uplevel" body line 1)
    invoked from within
"uplevel source.orig [list $fileName]"
    invoked from within
"if [$instance_ is_http_url $fileName] {
set buffer [$instance_ read_url $fileName]
uplevel eval $buffer
} else {
uplevel source.orig [list $fileName]
..."
    (procedure "source" line 8)
    invoked from within
"source $opt(cp)"
    (file "aodv.tcl" line 49)
望楼主解答,谢谢了

看帖要回帖...