我尝试运行此处提供的示例代码:http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-ns2-rev1.0.tar.gz
根据自述文件,修补程序已成功应用,但在执行示例代码时,获得了以下错误:
ns: myTrace file3: can't read "dctcp_alpha_": no such variable while executing "subst $[subst $var]" (procedure "_o154" line 5) (Object next line 5) invoked from within "_o154 next dctcp_alpha_" ("eval" body line 1) invoked from within "eval $self next $args" (procedure "_o154" line 18) (Agent set line 18) invoked from within "$tcp($i) set dctcp_alpha_" (procedure "myTrace" line 8) invoked from within "myTrace file3"
怎么能解决这个问题?
答案 0 :(得分:0)
构建示例:tar xvf ns-allinone-2.35_gcc482.tar.gz
https://drive.google.com/file/d/0B7S255p3kFXNSGJCZ2YzUGJDVk0/view?usp=sharing
cd ns-allinone-2.35 / ns-2.35 /
patch -p1 --ignore-whitespace -i dctcp.patch
cd ../
./安装
cd ns-2.35 /
sudo make install
cp ns ns235-dctcp
sudo cp ns235-dctcp / usr / local / bin /
..创建文件mytracefile.tr 2.1MB,thrfile.tr 10.2kB。 (和queue.tr:0B)。
您的错误:您可能使用错误的可执行文件'ns'。
安全方式是使用新名称修补'ns'的DCTCP副本。
并且在系统路径中有一个位置,例如/ usr / local / bin / ns235-dctcp
答案 1 :(得分:0)
我曾经遇到过与你提到的完全相同的问题:
ns: myTrace file3: can't read "dctcp_alpha_": no such variable
while executing
st $[subst $var]"
(procedure "_o154" line 5)
(Object next line 5)
invoked from within
...
1.问题是运行补丁后需要编译。
在运行以下补丁之后,在他的回答中提及Knud Larsen:
cd ns-allinone-2.35/ns-2.35/
patch -p1 --ignore-whitespace -i dctcp.patch
您需要转到/ns-allinone-2.35/文件夹,然后进行编译:
cd ../
./install
cd ns-2.35/
sudo make install
与Knud Larsen不同,我没有重命名另一个 ns 。我使用 ns 命令直接运行模拟:
ns simpleDumbbell.tcl
它对我有用。
希望这会有所帮助:)