我正在尝试在 VirtualBox VM 中的 Fedora 22 上构建 ns-3.24.1。我在运行:
./waf configure --enable-examples --enable-tests --with-openflow=/path/to/openflow --with-pybindgen=/path/to/pybindgen ./waf 构建
我想使用 OpenFlow,所以我根据 these instructions 下载并配置/构建了 OFSID在运行上面的配置命令之前。配置步骤的输出显示 OpenFlow 为“已启用”。
ns-3.24.1 构建正常进行,直到它到达以下步骤并吐出后续错误:
[2291/2493] Linking build/src/openflow/examples/ns3.24.1-openflow-switch-debug
./libns3.24.1-openflow-debug.so: undefined reference to `update_checksums'
collect2: error: ld returned 1 exit status
...
即,它似乎可以正确构建所有内容,但随后会在链接步骤出现错误。
显然 update_checksums 在 [...]/ns-3.24.1/src/openflow/model/openflow-interface.h 中;由于某种原因,链接步骤不知道要在此处查找 openflow-interface.h。
可能是什么原因造成的,我该如何解决? FWIW 我已经多次重新下载 ns-3 和 OFSID 源,但无济于事。
最佳答案
首先,除非您想使用 OpenFlow 和/或 Python 进行开发,否则无需安装 OpenFlow/Python。教程中对此进行了解释:
Regarding the portion about modules not built:
Modules not built (see ns-3 tutorial for explanation): brite click openflow visualizer
This just means that some ns-3 modules that have dependencies on outside libraries may not have been built, or that the configuration specifically asked not to build them. It does not mean that the simulator did not build successfully or that it will provide wrong results for the modules listed as being built.
在“配置”之后,您是否看到 OpenFlow 已启用?
Under ---- Summary of optional NS-3 features: you should see:
"NS-3 OpenFlow Integration : enabled"
关于c - 使用 OpenFlow 构建/链接 ns3 网络模拟器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32995782/