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