Ns-3.46 errata
Jump to navigation
Jump to search
Note: The ns-3.46.1 release fixes the below issue.
On October 1, 2025, ns-3.46 was published. This page lists some issues that have been fixed in the mainline since that time. This issue is fixed in the ns-3.46.1 release.
ns3 script incompatibility with Python 3.14
On October 5, 2025, Python 3.14 was released and created an issue with the ns3 build script. If you notice an error when configuring ns-3 such as:
$ ./ns3 configure --enable-modules=core
Traceback (most recent call last):
File "/builds/nsnam/ns-3-dev/./ns3", line 2110, in <module>
main()
~~~~^^
File "/builds/nsnam/ns-3-dev/./ns3", line 1882, in main
args = parse_args(sys.argv[1:])
File "/builds/nsnam/ns-3-dev/./ns3", line 129, in parse_args
parser_help.add_argument(
~~~~~~~~~~~~~~~~~~~~~~~~^
"help", help="Print a summary of available commands", action="store_true", default=False
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/argparse.py", line 1543, in add_argument
raise ValueError(f'action {action_name!r} is not valid for positional arguments')
ValueError: action 'store_true' is not valid for positional arguments
The fix has been committed to ns-3-dev but can be cherry-picked from this commit.
The alternative, if you still have an older version of Python 3 available, is to invoke ns3 from the older Python interpreter, (e.g., "python3.13 ns3 ...") or else use a virtualenv.