Hello, I'm getting the following error when trying to use LteHelper.InstallEnbDevice in Python: can't use an ObjectFactory without setting a TypeId first
[environment]
Ubuntu 24.04.1 LTS (WSL on Win11)
Python 3.12.3
[steps to reproduce from scratch]
git clone
https://gitlab.com/nsnam/ns-3-dev.gitcd ns-3-dev
git checkout -b ns-3.44 ns-3.44
python3 -m venv venv
source venv/bin/activate
pip install cppyy==3.1.2
./ns3 configure --enable-examples --enable-tests --enable-python
./ns3 build
create test2.py with the following simplified code:
from ns import ns
enb_nodes = ns.NodeContainer()
enb_nodes.Create(1)
lte_helper = ns.LteHelper()
enb_devs = lte_helper.InstallEnbDevice(enb_nodes)
./ns3 shell
python test2.py
The line of code *from ns import ns* shows the following warnings:
[runStaticInitializersOnce]: Failed to materialize symbols: { (main, { __cxx_global_var_initcling_module_148_, _ZN3ns3L16g_timeInitHelperE, __orc_init_func.cling-module-148, _GLOBAL__sub_I_cling_module_148, $.cling-module-148.__inits.0 }) }
[runStaticInitializersOnce]: Failed to materialize symbols: { (main, { __orc_init_func.cling-module-148 }) }
And the line of code *enb_devs = lte_helper.InstallEnbDevice(enb_nodes)* shows the following error:
NS_ASSERT failed, cond="m_tid.GetUid()", msg="ObjectFactory::Create - can't use an ObjectFactory without setting a TypeId first.", +0.000000000s -1 file=/home/bjquinn/ns-3-dev/src/core/model/object-factory.cc, line=85
NS_FATAL, terminating
terminate called without an active exception
*** Break *** abort
Apologies if I have missed something obvious here, but I have gone through the tutorial and documentation and I have spent a couple of days trying to work through this. My ultimate goal is to create a simulation for UE's to wander randomly and hand off between multiple base stations. And eventually I will want to apply some RL models to the simulation. My goal is to use Python for both setting up the simulation in ns3 as well as the RL feedback loop.
Thanks!