^^前奏:
CentOS sudo yum install libX11-devel*
yum install xorg-x11-proto-devel*
yum install libXt-devel*
yum install libXmu-devel*
nam ERROR: undefined reference to `gzread'
在官网上下载zlib源码,安装成功后重新编译
Ubuntu sudo apt-get install build-essential
apt-get install tcl8.4 tcl8.4-dev tk8.4 tk8.4-dev
apt-get install libxmu-dev libxmu-headers
之后是下载ns2.33或2.35的源码,进入主目录,运行./install,成功之后,进入下一步
^^2.35
环境变量:~/.bashrc
export NS_HOME=/home/god/ns2/ns-allinone-2.35
export PATH=$NS_HOME/nam-1.15:$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.5.10/unix:$NS_HOME/tk8.5.10/unix:$NS_HOME/otcl-1.14:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.5.10/library
export PATH=$NS_HOME/ns-2.35/indep-utils/cmu-scen-gen/setdest:$NS_HOME/ns-2.35/indep-utils/cmu-scen-gen:$PATH
ERROR in cygwin 中ns-allinone-2.35\ns-2.35\indep-utils\webtrace-conv\dec\proxytrace2any.cc
在main前 添加:
extern int IsLittleEndian(void);
extern void ToOtherEndian(TEntry *e ) ;
^^2.33
环境变量: ~/.bashrc
export NS_HOME=/home/god/ns2/ns-allinone-2.33
export PATH=$NS_HOME/nam-1.13:$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.18/unix:$NS_HOME/tk8.4.18/unix:$NS_HOME/otcl-1.13:$NS_HOME/lib:$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.18/library
export PATH=$NS_HOME/ns-2.33/indep-utils/cmu-scen-gen/setdest:$PATH
2.33 安装过程中可能出现的错误
a、 change otcl-1.13/configure Line5518 ld->gcc
change /tk8.4.18/generic/tkBind.c
add in line 588
/* MappingNotify */ 0,
#ifdef GenericEvent
0,
#endif
/* VirtualEvent */ VIRTUAL,
2.33 in cygwin
a、ERROR: /tcl8.4.18/unix/tclUnixTime.c:100: error:storage size of ‘tz’ isn’t known
/*
*在使用前增加如下定义
*/
struct timezone{
int tz_minuteswest;
int tz_dsttime;
};
b、 ERROR: ns../tools/ranvar.cc 219
从return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_)改为
return GammaRandomVariable(1.0 + alpha_, beta_) (去掉类名)