Я попытался запустить пример кода, доступный здесь: http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-ns2-rev1.0.tar.gz

Согласно файлу readme, патч был успешно применен, но при выполнении примера кода была получена следующая ошибка:

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
user3048851 3 Мар 2015 в 04:22

1 ответ

Раньше у меня была точно такая же проблема, как вы упомянули:

  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. Проблема в том, что вам нужно скомпилировать после запуска патча.

Как упомянул Кнуд Ларсен в своем ответе после запуска следующего патча:

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
  1. В отличие от Кнуда Ларсена, я не переименовал другого ns . Я запускаю моделирование напрямую с помощью команды ns :

    ns simpleDumbbell.tcl

И у меня это работает.

Надеюсь это поможет : )

0
Community 23 Май 2017 в 12:30