Ns-3.35 errata --- Compilation on Python 3.10 systems

https://www.nsnam.org/wiki/Ns-3.35_errata

 

On October 1, 2021, ns-3.35 was published. This page lists some minor issues that have been fixed in the mainline since that time, but we considered to be minor enough to just list here rather than make a maintenance release to update ns-3.35.


Compilation on Python 3.10 systems

Python 3.10 was released shortly after ns-3.35, and Python 3.10 will become default in upcoming Linux distributions such as Fedora 35.

The pybindgen version distributed in ns-allinone-3.35 release (version 0.22.0) is missing a small patch needed to make it work with Python 3.10. Below are two suggested workarounds (only one or the other is needed):

Workaround 1:

If you don't need Python bindings, you can disable them from your build by passing the --disable-python argument to Waf configure.

Workaround 2:'

You can replace pybindgen with the latest development version, or patch the version distributed with ns-3.35 release with this small patch:

https://github.com/gjcarneiro/pybindgen/commit/e645cc684602802580a0b800518c784100d54561

 

gedit ../pybindgen-0.22.0/pybindgen/cppclass.py
    try:
        collectionsCallable = collections.Callable
    except AttributeError:
    -    collectionsCallable = collections
    +    import collections.abc
    +    collectionsCallable = collections.abc.Callable

    try:
        set

posted @   张同光  阅读(60)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示