1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OMNeT++のインストール方法(mac)

Last updated at Posted at 2019-04-28

とある論文を読んでいていて、自分も使いたいって思ってインストールしてみた。
記事にしたのはmacOSにインストールする方法ですが、Linuxに入れたときでも基本変わらな買ったと思います(Windowsはわからないです)。

ダウンロード:(LINUX,WINDOWS,MACOSを選べる)
https://omnetpp.org/software/2018/06/29/omnet-5-4-1-released

公式ドキュメント
https://omnetpp.org/documentation/

#インストール方法
公式ドキュメントの一覧から*Install Guide (pdf)*を選択
Chapter3 からがmacOSへの導入方法(macOS 10.12を対象にしているが、導入環境は10.14.3)

OMNeT++ではシミュレーションをC++で書かくけどJavaのランタイムとかを入れる必要があるらしい(OMNeT++自体はechlipsが元になっているからだと思う)
指示通りJavaRuntimeとJava Runtime Environmentをインストール
またコマンドラインツールもアップルの公式サイトから手に入れた

次にデバッグのためにgdbをbrew installする必要がある(mac以外では普通にapt installだった気がする)
ちょっと面倒くさいけど署名も設定しなければならないみたい 
macなら「lunchpad -> その他 -> キーチェーンアクセス」そして、メニューバーから「キーチェーンアクセス-> 証明書アシスタント -> 証明書作成」を選択

スクリーンショット 2019-04-26 22.16.33.png

こんな感じで入力してあとはひたすら「続ける」を連打する(途中はの入力は無視していいの?)

証明書が保存できたらキーチェーンアクセスは閉じてターミナルを起動し以下のコマンドを実行(gdb-certの部分は自分で入力した内容によっては変えてください)

$sudo codesign -s gdb-cert /usr/local/bin/gdb

下準備が終わったのでいよいよOMNeT++本体をダウンロード
好きなディレクトリでで以下のコマンドを実行(もち、ダウンロードしたファイルも同じディレクトリで)

$tar zxvf omnetpp-5.4.1-src-macosx.tgz

ここからは環境設定(毎回この手の環境設定ではPATHを通すけど、実は意味がわかってない.教えて強い人!!)
以下のコマンドをつらつらと打っていく

$ cd omnetpp-5.4.1
$ . setenv
$ touch ~/.bashrc
$ open -e ~/.bashrc

.bashcrファイルに次の二行を追加(個人的な感想だけどbash_profileに書き込んでもいいじゃないの? 私はそうしてます)

.bashrc
export PATH=\$HOME/omnetpp-5.4.1/bin:\$HOME/omnetpp-5.4.1/tools/macosx/bin:\$PATH
export QT_PLUGIN_PATH=\$HOME/omnetpp-5.4.1/tools/macosx/plugins

ちなみにこれ、解凍した場所によっては$HOME/解凍した場所/omnetpp-X.X.Xにする必要がある。

今度は設定をいじる必要があるみたい
configureスクリプトがインストールされているソフトウェアとシステムの設定を検出してくれるみたい。
結果はMakefile.incファイルに自動で書き込まれる

$ ./configure

スクリプトが走り終わったら最後にビルドするみたい(今更makeコマンドの意味を知ったけど、CやC++で書かれたプログラムをMakefileの設定通りにコンパイルしてくれる賢い子みたい.三流以下のエンジニア並の知識しかねえ)

$ make

#サンプル実行

結構長いビルドが終わったら今度はサンプルを動かしてみてってことらしい

$ cd samples/aloha
$ ./aloha

こんな感じで動いた!(名前的に昔のアロハ通信かな?)
スクリーンショット 2019-04-26 23.02.21.png

最後はIDEをコマンドで開いて起動することを確認
OMNeT++はEclipse(Javaで書かれているIDE)をベースにしたSimulationIDEみたいで、最初の方でJava RuntimeをインストールしたのはこのIDEを動かすためなのかなぁ

$ omnetpp

ここで詰んだ,エラー吐いてIDEが起動しない
この記事を見る限り、OMNet++はjava9以上だと相性が悪いのかも
https://stackoverflow.com/questions/47039187/omnet-5-2-mac-installation-error

sudo rm -rf /Library/Java/JavaVirtualMachines/*****

で最新のJava環境を消してJava8(java10でも可?)にしたらIDEが動いた。

image.png

Workspaceを選べと言われる(デフォルトではsampleが指定されてるはず)

image.png

多分こんな画面を開くことができたらいいみたい。

次回からはチュートリアルをやってみます。

2019/05/14 加筆
どうもOMNeT++はMacとは相性が悪いらしく、gdbデバックがあんまりうまくできない

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?