Errors in running millicar module in ns3-mmwave

58 views
Skip to first unread message

Aamina Binte Khurram

unread,
Jul 11, 2024, 2:11:27 AM (11 days ago) Jul 11
to ns-3-users
Hello everyone,

I'm trying to run the millicar module(https://github.com/signetlabdei/millicar) in ns3-mmwave. I've cloned the above repo in the src folder of ns3-mmwave as specified in millicar's readme, but when trying to reconfigure the system again by running ./ns3, I'm now getting the following errors.
Screenshot 2024-07-10 231027.pngScreenshot 2024-07-10 231100.png

Any help would be appreciated.

Thank you for your time.

Aamina Binte Khurram

unread,
Jul 11, 2024, 2:19:16 AM (11 days ago) Jul 11
to ns-3-users
I then tried to put the millicar folder in ns3-mmwave's scratch folder instead of its src folder. When I did this and tried to run the millicar example, I got the following error, which I do not understand:
CMake Error at build-support/custom-modules/ns3-module-macros.cmake:168 (add_library):
  add_library ALIAS requires exactly one target argument.
Call Stack (most recent call first):
  scratch/millicar/CMakeLists.txt:32 (build_lib)

Gabriel Ferreira

unread,
Jul 11, 2024, 2:55:37 PM (11 days ago) Jul 11
to ns-3-users
Hi Aamina, milicar is a ns-3 module. You need to put it into either the contrib or the src directories, not in the scratch directory. After doing that, reconfigure.

Aamina Binte Khurram

unread,
Jul 11, 2024, 3:44:01 PM (11 days ago) Jul 11
to ns-3-users
Thanks for getting back to me, Gabriel. I put it in the src folder, ran "./ns3 clean", "./ns3 configure -d debug --enable-tests --enable-examples", and then "./ns3 build". But now am getting the following errors when trying to build:
Screenshot 2024-07-11 124028.pngScreenshot 2024-07-11 124104.pngScreenshot 2024-07-11 124203.pngScreenshot 2024-07-11 124250.pngScreenshot 2024-07-11 124320.png(Sorry for posting so many photos)

Aamina Binte Khurram

unread,
Jul 11, 2024, 3:45:24 PM (11 days ago) Jul 11
to ns-3-users
Do you think these are because the millicar repository was last updated to ns-3.62 but the mmwave one was updated more recently to ns-3.42, or is it because I am doing something wrong?

Thank you for your patience and help till now.

Gabriel Ferreira

unread,
Jul 11, 2024, 3:49:08 PM (11 days ago) Jul 11
to ns-3-users
It is a version incompatibility. The QUICK ones are easy. You just switch for Duration::QUICK.
The first error around MakeEnumAcessor is now templated, so you need to put the type of the enum. MakeEnumAcessor<Type>()

Aamina Binte Khurram

unread,
Jul 11, 2024, 4:56:46 PM (11 days ago) Jul 11
to ns-3-users
Apologies for what is probably a trivial matter, but I've been trying since I got your response but must be doing something wrong because I'm still getting the same error. Should I replace MakeEnumAcessor with MakeEnumAcessor<Type>(), or do something else?

Gabriel Ferreira

unread,
Jul 11, 2024, 5:33:01 PM (11 days ago) Jul 11
to ns-3-users
You need to put the type of that Enum, not just the word "Type". Try MakeEnumAcessor<ns3::millicar::MmWaveVehicularHelper::SchedulingPatternOption_t>

Aamina Binte Khurram

unread,
Jul 12, 2024, 3:02:48 AM (10 days ago) Jul 12
to ns-3-users
That fixed it, thank you!
The build finishes without any errors but when I try to run the example "vehicular-simple-one.cc"(the example millicar came with), I get the following error: 
msg="Could not set default value for ns3::MmWaveVehicularHelper::SchedulingPatternOption", file=/home/aamina/ns3-mmwave/src/core/model/config.cc, line=899
NS_FATAL, terminating
terminate called without an active exception
Command 'build/src/millicar/examples/ns3.42-vehicular-simple-one-debug' died with <Signals.SIGABRT: 6>.
Again, thank you for all your help till now, truly. You've saved me literal days of having to figure this out on my own.

Gabriel Ferreira

unread,
Jul 12, 2024, 3:38:51 AM (10 days ago) Jul 12
to ns-3-users
This one I do not know the answer. Check if **this value** in

Config::SetDefault( ns3::MmWaveVehicularHelper::SchedulingPatternOption, EnumValue(**this value**));

Is a valid value for that enum type.
Reply all
Reply to author
Forward
0 new messages