c - 使用 OpenFlow 构建/链接 ns3 网络模拟器时出错

标签 c linux linker simulator ns-3

我正在尝试在 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/

相关文章:

如果没有 LNK2005 错误,则无法包含 C++ header

C 关闭永远运行的 STDOUT

c++ - 用于实时曲面 segmentation 的 GLUTesselator?

c++ - 尝试在 Mac 上编译 GLFW 时 GLFW 上的链接器错误

ruby-on-rails - Ruby on Rails 应用程序的最佳 Linux 变体?

php - file_put_contents 无法打开流 : Permission denied

c - Debian 8 上的链接问题

c - 如何确定一个值是否在某个范围内?

c - 是否可以使用代码内指令来抑制 parasoft 发现的缺陷?

c - select() 在未连接的套接字上返回 1(不一致)