运行 MDART 协议时出现 NS 2.35 分段错误(核心已转储)

NS 2.35 segmentation fault (core dumped) when running MDART protocol

当我在 NS 2.35 中 运行 MDART 路由协议 tcl 脚本时,它说:

 When configured, ns found the right version of tclsh in /usr/bin/tclsh8.6
but it doesn't seem to be there anymore, so ns will fall back on running the first tclsh in your path. The wrong version of tclsh may break the test suites. Reconfigure and rebuild ns if this is a problem. 

num_nodes is set 16

INITIALIZE THE LIST xListHead

channel.cc:sendUp - Calc highestAntennaZ_ and distCST_
highestAntennaZ_ = 1.5,  distCST_ = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0

SORTING LISTS ...DONE!

Segmentation fault (core dumped)

并且模拟结束时间假设在 205 秒结束,但是当 运行 动画时,模拟在 8 秒结束。这是为什么?谢谢

ns found the right version of tclsh in /usr/bin/tclsh8.6 but it doesn't seem to be there anymore

tcl8.6:您应该使用“ns-2.35 tcl8.5.10”:它不会更改版本或位置。 (除非你移动 ns-allinone-2.35)。外部 tcl8.6 可以改变,例如更新。以后的版本往往会丢失一些文件,例如在 Debian 中 / Ubuntu.

示例https://drive.google.com/file/d/0B7S255p3kFXNVVlxR0ZNRGVORjQ/view?usp=sharing

$ tar xvf ns-allinone-2.35_gcc5.tar.gz     ## 2014 - 2017 update
$ cd ns-allinone-2.35/
$ export CC=gcc-4.8 CXX=g++-4.8 && ./install

Segmentation fault

MDART 不能与现代 OS 一起使用。最新的工作是 16 个月前更新的 Ubuntu 18.04.4。请看我的测试 https://drive.google.com/drive/folders/1si2jA3lc-23lubVHb3tFbIAXfnhRfg5O?usp=sharing ..... CentOS 8 失败,Ubuntu 20.04 失败。等等 "2021 OS" 失败。

编辑:进一步测试显示更新的 Ubuntu 18.04 失败:MDART 的最新 Ubuntu 版本是 16.04。

注意 1:Ubuntu 16.04 nam 包已损坏。请使用https://drive.google.com/file/d/0B7S255p3kFXNdmxzSmRzaVRWb28/view?usp=sharing→nam_1.15-10-ubuntu14_amd64.deb

注意 2:Ubuntu 16.04 ns 命令:sudo apt install ns2

注意 3:构建 ns-allinone-2.35/ → 最新 Ubuntu 更新后的四种随机 Tk 错误案例。可能的解决方案:使用 ns-allinone-2.35_2021.tar.xz https://drive.google.com/file/d/167cP7hPnJGiNL3rK4Mxnh_-0t7_S8FTL/view?usp=sharing with Tcl, Tk updated to version 8.5.17 .... And there are three options for extra gcc/g++ compilers to try out https://drive.google.com/drive/folders/1xVEATaYAwqvseBzYxKDzJoZ4-Hc_XOJm?usp=sharing

export CC=gcc447 CXX=g++447 && ./install     ## can also be used with ns-allinone-2.35 version 2011
export CC=gcc48 CXX=g++48 && ./install
export CC=gcc54 CXX=g++54 && ./install

模拟时间:设置为最长时间。示例:设置 set val(end) 1006.0 将 运行 大约 6 秒,并以以下形式结束输出文本:1000 simulation seconds ......时间是相对的。 ns2 是在 90 年代开发的,当时处理器非常慢 Pentium 1 / Pentium 2。 ...不同的协议在模拟时间上表现不同。