Followed instructions given in https://doc.omnetpp.org/omnetpp/InstallGuide.pdf
OMNeT++ Version - omnetpp-5.6.2
Device - MacBook Air M1 (MacOS Big Sur Version 11.4)
Encountered the following problems.
$. setenv -> didn't work (worked after replacing "." with "source")
$./configure -> gives the following error.
configure: error: Qtenv cannot find qmake -- maybe it is not in the PATH or has some exotic name (tested names were: qmake qmake-qt5 qmake5) - disabling Qtenv. You can try setting the QT_PATH variable in configure.user to a valid location
$ make -> gives the following error.
Makefile:54: Makefile.inc: No such file or directory make: *** No rule to make target `Makefile.inc'. Stop.
Is it possible to get OMNeT++ working on M1 Macs? Any help would be greatly appreciated.
Thanks in advance.
There is no native support for M1 processors, especially because omnet++ 5.6 was released way before the M1 release, but you can run omnet with Rosetta2 in x86_64 mode. You would still get pretty decent performance. With x86_64 emulation I measured similar performance like on my last year high end AMD laptop. Native mode would give you a 25% boost compared to that.
To turn on the emulation for a shell window, start a new shell with
$ arch -x86_64 /bin/zsh --login
and then continue in that shell with
$ source setenv
$ ./configure
$ make
run everything from that shell window (as usual).
NOTE: OMNeT++ 5.6 relies on the system-wide installed JRE to run the IDE. That may NOT be present on your system if you are running on ARM. OMNeT++ 6 and 5.7 comes with a built-in private JRE, so the IDE should work with those versions also in intel emulation mode.
ps: OMNeT++ 6 may get native M1 support (this depends on the availability of some dependencies (JavaVM, Qt etc.). I'm also considering an ARM based docker image, that would allow running at native performance (as long as you have an XServer installed).