3. SDL用ディレクトリを作成して、gitコマンドをインストール
まずは、車載機エミュレーターを作成するための作業用ディレクトリを作ろう。SDL Coreも、Generic HMIも、すべてそのディレクトリの中に作ることにする。念のために書き添えると、自分のホームディレクトリにいる状態で、以下のようなコマンドをタイプすればいい。
$ cd SDL
これで、自分のホームの下に「SDL」ディレクトリを作成し、作業ディレクトリをそこに移動した。
次にSDL Coreのソースコードを、このSDLの下にGitHubからダウンロードする。それには、やはりgitコマンドを使うのが簡単だ。Ubuntuには標準状態では、gitコマンドは含まれていないので、まずはそれからインストールする。
このようにタイプしてから、要求に応じて管理者ユーザーのパスワードを入力すればいい。
これでgitコマンドが使えるようになるので、clone機能を使って、GitHubから必要なソースコードをダウンロードする。
ネットワーク環境にもよるが、しばらく(数分程度)時間がかかるので、完了するのをじっと待とう。
4. ビルドツールとライブラリをインストールする
ソースコードを入手したら、次はそれをビルドするためのツール(C++のコンパイラやリンカ)と必要なライブラリ類(ディペンデンシ)をダウンロードしてインストールする。
ここでは、1つのコマンドで、必要なものをすべてまとめて入手してしまおう。GitHubのsdl_coreのページには、そのソースをビルドするためのディペンデンシについて簡単な説明はあるが、必要なコマンドラインは示されていない。しかし、それはGitHubのgeneric_hmiのページに示されている。
ただしそのままでは、少なくともUbuntu 14.04.5の環境にとっては足りないものがある。ビルドするためにはUSBのライブラリが抜けている。また、後で示すようにChromiumブラウザーを使ってHMIを開くためには、NSS(Network Security Services)のライブラリも必要となる。それも含めて、ここでまとめてインストールしておこう。
これにも数分から十数分程度かかるかもしれない。これで、この後SDL Coreをビルドするために必要なリソースは、すべてダウンロードしてインストールできるはずだ。
5. ソースコードをビルドする
実際のビルド作業は、次の2ステップとなる。最初は、cmakeコマンドを使って、makeコマンドを実行するために必要な環境を作ること。次に、makeコマンドを使って実際にビルドするステップだ。
cmakeを実行する前に、ビルド作業を実行するためのディレクトリを作ろう。ここまでに示した手順通りに作業してきたとすれば、今はホームの下のSDLディレクトリにいるはずだ。まずその下に、「sdl_build」ディレクトリを作って、そこに移動する。
$ cd sdl_build
その場でcmakeコマンドを実行し、上でダウンロードしたsdl_coreディレクトリから、必要なものをビルド用のディレクトリにかき集めるイメージだ。
この作業は、ほとんどあっという間に終了する。これでmakeの準備が整ったので、すかさず実行しよう。
この作業は、実行するマシンの処理能力やストレージの性能にもよるが、おそらく数分では終わらない。十数分から、場合によっては数十分程度かかるだろう。途中で管理者ユーザーのパスワードを2度ほど要求してくる。時間がかかるからと言って、makeコマンドを発行して放置してしまうと、そこから先に進まなくなるので注意が必要だ。
makeが終わったら、エラーが発生していないか、メッセージの最後の付近をよく確認しよう。エラーがなければ、もう1つのコマンドを実行する。これにより、ビルドしたSDL Coreを実行可能な状態にインストールできる。
この処理の途中でも、1回だけ管理者ユーザーのパスワードを要求してくるが、処理は比較的短時間で終了するはずだ。
6. SDL Coreを起動する
上の最後のコマンドによって、sdl_buildディレクトリの中には「bin」ディレクトリが作成される。まずは、そこに移動しよう。
このbinディレクトリの中には、SDL Coreを起動するためのシェルスクリプトが用意されている。それを使ってビルドされたSDL Coreの本体である「smartDeviceLinkCore」を起動することになる。
このコマンドは、ターミナルと同じプロセスでプログラムを起動するので、以後ターミナルの応答は停止する。ここでエラーが発生しなければ、正常に動いていると考えていいだろう。
このコマンドを実行した直後に「共有ライブラリ(libemhashmap.so.0)が見つからない」といった意味のエラーが発生する場合がある。その際には、start.shスクリプトは使わずに、以下のようなコマンドを直接タイプすればCoreを起動できるはずだ。
この連載の記事
-
第10回
スマホ
未来の車とバイクを楽しく安全にするアイデアが集結 -
第9回
sponsored
車両情報+ニュース読み上げアプリを作ってみた! -
第8回
sponsored
SDL対応アプリ開発環境の構築その4~白紙のiOSプロジェクトから作るSDLアプリ -
第7回
sponsored
SDL対応アプリ開発環境の構築その3~Android版のSDLのAPIを使いこなす -
第6回
sponsored
SDL対応アプリ開発環境の構築その2~アプリ開発環境を整える -
第5回
sponsored
クルマがしゃべる未来って? ロボホンとクルマをつないでみた -
第3回
sponsored
トヨタ・スズキ・LINEのキーマンが語る、SDLとスマホが作る車・バイクの未来 -
第2回
sponsored
スマホアプリをカーナビで動かすと、こんな世界が待っている! -
第1回
sponsored
車・バイクとスマホを連携させるSDL規格の基礎知識 -
sponsored
車とスマホがつながるSDLの世界 - この連載の一覧へ