ns-allinone-2.29在我的ubuntu上成功安装的案例
ns-allinone-2.29在我的ubuntu上成功安装的案例
版权声明 :转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://rotstern.blogbus.com/logs/28000455.html
之前在网上看了很多资料,多数雷同,甚至相互引用,后来无意中看到篇
英文的"NS-AllInOne-2.28 HOWTO" ,经过局部修改后花了一天时间终于成功在Ubuntu Breezy 5.10运行了。步骤如下:
首先确信已经安装g++包,然后
$ tar xzf ns-allinone-2.29.tar.gz
$ cd ns-allinone-2.29
$ vim install
添加 --enable-synbols 到 408 行:
./configure --enable-gcc --disable-shared --prefix=$CUR_PATH || die "tcl8.3.2 configuration failed! Exiting ..."
改为:
./configure –-enable-symbols --enable-gcc --disable-shared --prefix=$CUR_PATH || die "tcl8.3.2 configuration failed! Exiting ..."
添加–enable-debug 到498 行:
./configure || die "tclcl-$TCLCLVER configuration failed! Exiting ..."
改为:
./configure -–enable-debug || die "tclcl-$TCLCLVER configuration failed! Exiting ..."
$ cd ns-allinone-2.29
$ vim Makefile.in
添加 -g 到82 行:
CFLAGS = $(CCOPT) $(DEFINE)
改为:
CFLAGS = -g $(CCOPT) $(DEFINE)
otcl-1.11 要求 X11/Intrinsic.h 但是不在 libx11-dev 是在 libxt-dev.
$ sudo apt-get install -f libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6
nam-1.11 要求 /usr/X11R6/include/X11/Xmu/WinUtil.h
$ sudo apt-get install libxmu-dev
xgraph Makefile 文件要修改如下:.
$ cd ../xgraph-12.1
$ ./configure
$ vim Makefile
添加 -L/usr/X11R6/lib 到85 行:
xgraph_LDADD = $(ADDITIONAL_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(X_EXTRA_LIBS) -lX11 -lm ,
改为:
xgraph_LDADD = $(ADDITIONAL_LIBS) $(X_LIBS) $(X_PRE_LIBS) $(X_EXTRA_LIBS) -L/usr/X11R6/lib -lX11 -lm
$ cd ../gt-itm
$ cd src
$ make
Compile ns-allinone-2.29:
$ cd ns-allinone-2.29
$ ./install
现在设置环境变量:
修改 /home/xxx / .bashrc ,在文件末端加入:
export PATH="$PATH:/usr /ns-allinone-2.29/bin:/usr /ns-
allinone2.29/tcl8.4.11/unix:/usr /ns-allinone-2.29/tk8.4.11/unix"
export
LD_LIBRARY_PATH="$LD_LIBRARY:/usr /ns-allinone-2.29/otcl-1.11:/usr /ns--llinone-2.29/lib"
export
TCL_LIBRARY="$TCL_LIBRARY:/usr /ns-allinone-2.29/tcl8.4.11/library "
说明: 1)xxx : 使用户打开console 后的当前路径
2)我是解压缩在/usr 目录下面的。这里可以根据自己实际目录,以修改这个绝对路径。
最后是测试了:
随便找一个example.tcl 文件,然后:
ns example.tcl 就会生成一个同名的nam文件:example.nam
特别提示:不要 先打ns 进入% 后,再运行ns example.tcl,那样会出现
error when calling the class OldSim :nam-example.tcl 错误!!
直接在console 的当前目录下运行这个命令!