HPC/並列プログラミングポータルでは、HPC(High Performance Computing)プログラミングや並列プログラミングに関する情報を集積・発信しています。

新着トピックス

Moblinアプリケーション開発はじめの一歩

 Moblinはさざまな機器での利用を視野に入れて設計・開発されたプラットフォームであり、中核となる「Moblin Core」と呼ばれるコンポーネント群をベースに機器やアプリケーション独自のUIを構築できるようになっている。Moblinアプリケーションを開発するに当たって、まずはMoblinプラットフォームの概要と、Moblin Core向けの開発環境構築方法について解説しておこう。

 Moblinは主として携帯デバイスや組み込み機器をターゲットとするLinuxベースのプラットフォームであり、その中核となっているのが「Moblin Core」と呼ばれるコンポーネント群だ。Moblinはネットブックからモバイルインターネットデバイス(MID)、カーナビ等の車載情報システムまで、幅広いデバイス・用途をターゲットとしており、Moblin Coreをベースとしてデバイスごとに必要なコンポーネントを追加していく、といった利用方法が想定されている。図2はMoblin Coreのアーキテクチャを図示したものだ。

 Moblin CoreはGNOME Mobileプラットフォームをベースにしており、画面描画にはX Window Systemを使用する。OpenGLもサポートしており、ハードウェアアクセラレーションも利用できる。2Dグラフィックスライブラリ「Cairo」や国際化機能「Pango」、メディア機能の「GStreamer」、メッセージング機能「D-Bus」など、GNOMEで採用されている機能のいくつかはMoblin Coreにも取り込まれている。

 いっぽうGNOMEと異なる点としては、3Dユーザーインターフェイスライブラリ「Clutter」の採用が挙げられる。Clutterはもともとは組み込み機器向けのLinuxベンダーであるOpenedHand社が開発していたものだが、その後IntelがOpenedHand社を買収、以後はIntelの下で開発が続けられている。ClutterはレンダリングにOpenGLやOpenGL ESといったグラフィックAPIを使用しており、グラフィックハードウェアの支援を利用した高品位な3D GUIを利用できるのが特徴だ。

 これにより、たとえば3Dを利用したユーザーインターフェイスやさまざまなエフェクトなどを容易に利用できる。また、CairoやGStreamer、GTK+、Qt、GObjectといった既存テクノロジーとの統合も行われており、マルチメディアコンテンツの再生や国際化、GTK+風APIとGObjectを利用したオブジェクト指向設計などにもネイティブ対応している。

 もちろん、Moblinの中核部分はLinuxそのものであるため、GUIを備えないコンソールアプリケーションについてもそのまま利用できる。ただし、Moblinのデスクトップ環境ではClutterが採用されているため、より「Moblinらしい」GUIアプリケーションを作成するにはClutterの利用が推奨される。

Moblinアプリケーションの開発環境を構築する

 Moblinアプリケーションの開発では、一般的なLinuxアプリケーションと同様、GCCやmake、autotoolsといった開発ツールを利用する。ただし、MoblinはCPUやメモリ、画面サイズといったリソースが比較的少ない環境での動作を想定しているため、コードの編集やコンパイルは一般的なPCで行い、テストやデバッグのみをMoblin環境で行うというスタイルが推奨されている。

 現在、Moblinの開発環境として公式に推奨されているのはFedoraおよびUbuntuである。また、GCCやGNU binutils、autotoolsといった一般的な開発ツールと、「Moblin SDK」と呼ばれるMoblin向け開発ツールも必要となる。まずはこれらを導入し、Moblin向けの基本的な開発環境を構築する手順を解説しておこう。なお、以下では例としてUbuntu 9.04を利用しているが、Fedoraを利用する場合も基本的な手順は同様である。

Linux開発ツールのインストール

 まず、GCCやリンカー、make、man、automakeなど、基本的なLinux開発ツールのインストールを行う。

 たとえばUbuntuの場合、下記のようにapt-getコマンドでインストールが可能だ。

$ sudo apt-get install build-essential man-db automake intltool libtool gtk-doc-tools devhelp libglib2.0-dev

 なお、Fedoraの場合は次のようにyumコマンドを実行する。

$ sudo yum install gcc-c++ make man automake intltool libtool gtk-doc devhelp glib2-devel

Moblin SDKのインストール

 Linux開発ツールのインストールが完了したら、続いてMoblin SDKや関連ツールをインストールする。Moblin SDKはMoblin公式Webサイトからダウンロード可能だ(ダウンロードページ)。Moblin SDKにはMoblinで使用されるライブラリやヘッダーファイル一式が含まれており、展開後は約2GB以上にもなるため、ストレージの空き容量に注意してほしい。

 Moblin SDKのダウンロードが完了したらそれを展開し、またMoblin SDKに含まれるツールが格納されているディレクトリ(展開したディレクトリ以下の「moblin-cross-toolchain」ディレクトリ)のパス名を環境変数「MOBLIN_TOOLCHAIN」にセットする。なお、下記では例としてユーザーのホームディレクトリにMoblin SDKをダウンロード・展開しているが、これは任意のディレクトリで構わない。

$ cd ~/
$ tar xvjf moblin-sdk-0.10.tar.bz2

 上記の例の場合、MOBLIN_TOOLCHAIN環境変数は次のように指定すれば良い。

$ export MOBLIN_TOOLCHAIN=~/moblin-sdk-0.10/moblin-cross-toolchain

 MOBLIN_TOOLCHAIN環境変数の設定はMoblin SDKを使用する際に毎回必要となるので、.bashrc等に上記を追加して自動的に設定されるようにしておくと良いだろう。

Linux Project Generatorのインストール

 「Linux Project Generator」はMoblinアプリケーション開発プロジェクト用のMakefileや各種ソースコード/ドキュメントのテンプレートなど、いわゆる「スケルトン」を生成するツールだ(図3)。必須のツールではないが、GUIによる簡単な操作で利用できるため、インストールしておくと便利だろう。

 Linux Project GeneratorはMoblinのWebサイト内にあるLinux Project Generatorページからダウンロードできる。tar+gz(tgz)形式のほか、RPM形式やdeb形式のパッケージも配布されているため、使用するディストリビューションに対応したパッケージをダウンロードしてインストールすれば良い。

 たとえばUbuntuの場合はdeb形式のパッケージを利用する。ダウンロードしたパッケージは「dpkg -i」コマンドでインストールできる。

$ sudo dpkg -i projgen_0.1.4-1_i386.deb

 インストール後は、GNOMEの「アプリケーション」−「プログラミング」メニュー内の「Linux Project Generator」、もしくはターミナルから次のように実行することでLinux Project Generatorを起動できる。

$ projgen

Moblin Package Creatorのインストール

 Moblinでは標準のパッケージ管理機構としてRPMが採用されており、作成したアプリケーションはRPMパッケージとして配布することが推奨されている。Moblin Package CreatorはLinux Project Generatorで作成したプロジェクトから、そのRPM/debパッケージを作成するツールだ(図4)。

 Moblin Package CreatorはMoblin Package Creatorページからダウンロードできる。tar+gz形式で配布されているが、中身はRPMおよびdeb形式パッケージであり、展開した後に含まれる「install_mpc.sh」を実行すると利用しているディストリビューションに対応するパッケージがインストールされる。

$ tar xvzf moblin-package-creator-0.5.8.tar_0.gz
$ cd moblin-package-creator-0.5.8/
$ sudo ./install_mpc.sh

 インストール後は、GNOMEの「アプリケーション」−「プログラミング」メニュー内の「Moblin Package Creator」、もしくはターミナルから次のように実行することでMoblin Package Creatorを起動できる。

$ moblin-package-creator

Eclipseプラグインのインストール

 Moblinアプリケーションの開発では、昔ながらの「テキストエディタでコードを書き、コマンドラインでコンパイラ等の開発ツールを実行する」スタイルだけでなく、統合開発環境(IDE)の利用もサポートされている。公式にサポートされているIDEはEclipseと、GNOMEベースの「Anjuta(アニュータ)」だ。

 Eclipseを利用してMoblinアプリケーションを開発する場合、Moblin向けのプラグインをインストールすることでEclipseからプロジェクトの作成やコンパイル、パッケージ化やリモートデバッグといった機能が利用できるようになる。

 なお、このプラグインはEclipse 3.5以上のみに対応しており、旧バージョンのEclipseには対応していない。たとえば今回例として使用しているUbuntu 9.04など、ディストリビューションによってはEclipse 3.5系の公式パッケージが用意されていない場合がある。その場合、EclipseのWebサイト等からEclipse 3.5系のバイナリをダウンロードしてセットアップする必要がある。EclipseのWebサイトでは複数のバイナリが用意されているが、Moblinアプリケーション開発を行うだけであれば「Eclipse IDE for Java Developers」をダウンロードすれば良い(図5)。また、EclipseのWebサイトで公開されているバイナリはUIが日本語化されていないので、必要に応じて日本語化言語パックを導入すると良いだろう。日本語化言語パックはSourceForge.JPのEclipse Galileo (3.5.1) 日本語化言語パック(サードパーティ版)ページから入手できる。

 Eclipseプラグインのインストールは、Eclipseの「Help」−「Install New Software」メニューから行える。プラグインのインストール元を指定するダイアログが表示されるので、「Work with」欄にまず「http://download.eclipse.org/technology/linuxtools/update」と入力し、「Add」をクリックする(図6、7)。すると「Add Site」というダイアログが表示されるので、「Name」欄に「linuxtools」など適当な名前を入力して「OK」をクリックしよう(図8)。

 続いて「http://moblin.org/sites/all/files/moblin-eclipse-plugin/update」についても同様に登録を行う(図9、10

 すると、ダイアログ中央のリストボックスに「Moblin SDK Plugin」が表示されるので、これにチェックを入れて「Next」をクリックする(図11)。

 「Install Details」画面が表示され、インストールされるプラグイントが表示されるので、確認して再度「Next」をクリックする(図12)。

 最後にインストールするプラグインのライセンスの確認が行われるので、「I accept the terms of the license agreements」を選択して「Finish」をクリックするとインストールが開始される(図13)。

 インストールの途中で「署名されていないソフトウェアをインストールしようとしている」との警告が表示されるが、そのまま「OK」をクリックして構わない(図14)。インストールが完了すると再起動を促すメッセージボックスが表示されるので、「Yes」をクリックしてEclipseを再起動しよう(図15)。

プラグインの設定

 プラグインのインストールが完了したら、続いてプラグインの設定を行っておこう。Eclipseのメニューバーから「Window」−「Preferences」を選択すると「Preferences」ウィンドウが表示されるので、「Moblin SDK」を選択し、「Toolchain Location」でMoblin SDKをインストールしたディレクトリ以下の「moblin-cross-toolchain」ディレクトリを指定しておく(図16)。

Anjutaプラグインのインストール

 Moblinアプリケーション開発では、IDEとしてGNOMEベースのAnjutaも利用できる。AnjutaはGNOMEベースということもあり、比較的軽量なのが特徴だ(図17)。Anjuta向けのMoblin SDKプラグインとEclipse向けMoblin SDKプラグインでは機能的に大きな差はないので、好みに応じて利用する開発環境を選択できる。

 UbuntuやFedoraの場合、Anjutaは標準のパッケージマネージャでインストールできる。たとえばUbuntuの場合は次のように実行すれば良い。

$ sudo apt-get install anjuta

 また、プラグイン本体はMoblinのWebサイト内にあるMoblin Anjuta Plug-inページからダウンロードできる。tar+gzおよびRPM、deb形式のパッケージが用意されているので、利用する環境に対応したパッケージをダウンロードしてインストールしよう。Ubuntu環境では、deb形式のパッケージをダウンロードし、次のように「dpkg -i」コマンドでインストールすれば良い。

$ sudo dpkg -i moblin-anjuta-plugin_0.2.0-1_i386.deb

 インストール後は、GNOMEの「アプリケーション」?「プログラミング」メニュー内の「Anjuta IDE」、もしくはターミナルから次のように実行することでAnjutaを起動できる。

$ anjuta

 Anjutaを起動したら、メニューバーから「編集」?「設定」を選択して設定ウィンドウを開き、「全般」の「インストール済のプラグイン」タブ内で「Moblin SDK」にチェックを入れてプラグインを有効にしておこう(図18)。

 なお、MoblinのWebサイトで現在公開されているAnjutaプラグインは最新版であるAnjuta 2.28向けで、これよりも古いバージョンのAnjutaでは利用できない。この場合、AnjutaのWebサイトなどから最新版のAnjutaを入手・インストールする必要がある(コラム1)。

コラム1:Ubuntu 9.04でMoblin Anjutaプラグインを利用する

 前述のとおり、Moblin Anjutaプラグインを利用するにはAnjuta 2.28が必要だ。しかし、Ubuntu 9.04の標準パッケージで用意されているAnjutaのバージョンは2.26であり、そのままではMoblin Anjutaプラグインを利用できない。そこで、ここではUbuntu 9.04にAnjuta 2.28をインストールする方法を説明しておこう。

 なお、Anjuta 2.28のコンパイルにはgdl 2.28以降が必要だ。Ubuntu 9.04に含まれるgdlのバージョンは2.26であるため、こちらについても自前で用意する必要がある。

 まず、gdlおよびAnjutaのコンパイルに必要なパッケージ群をインストールする。これは、「apt-get build-dep」コマンドを利用すれば良い。

$ sudo apt-get build-dep gdl
$ sudo apt-get build-dep anjuta

 続いてUbuntuのWebサイトからUbuntu 9.10向けのgdlソースコードおよび関連ファイルをダウンロードする。http://packages.ubuntu.com/ja/source/karmic/gdlをWebブラウザで開き、ページ下の「Download gdl」から、下記の3つのファイルをダウンロードする。

  • gdl_2.28.0-1.dsc
  • gdl_2.28.0.orig.tar.gz
  • gdl_2.28.0-1.diff.gz

 ダウンロードした3つのファイルを適当なディレクトリに保存し、そのディレクトリで次のように実行する。

$ dpkg-source -x gdl_2.28.0-1.dsc
$ cd gdl-2.28.0/
$ sudo dpkg-buildpackage -ppgp -rsudo
$ cd ..

 以上で、libgdlのdebパッケージが作成されるはずなので、これをインストールする。

$ ls
gdl-2.28.0                 libgdl-1-3_2.28.0-1_i386.deb
gdl_2.28.0-1.diff.gz       libgdl-1-common_2.28.0-1_all.deb
gdl_2.28.0-1.dsc           libgdl-1-dbg_2.28.0-1_i386.deb
gdl_2.28.0-1_i386.changes  libgdl-1-dev_2.28.0-1_i386.deb
gdl_2.28.0.orig.tar.gz
$ sudo dpkg -i libgdl-1-*.deb

 次に、Anjuta本体のコンパイルを行う。gdlの場合と同様、UbuntuのWebサイト(http://packages.ubuntu.com/ja/source/karmic/anjuta)から必要なソースパッケージをダウンロードする。必要なのは次の3ファイルだ。

  • anjuta_2.28.0.0-0ubuntu3.dsc
  • anjuta_2.28.0.0.orig.tar.gz
  • anjuta_2.28.0.0-0ubuntu3.diff.gz

 これら3ファイルを適当なディレクトリに保存し、そのディレクトリで次のように実行する。

$ dpkg-source -x anjuta_2.28.0.0-0ubuntu3.dsc

 以上でソースコード一式が展開されるので、続いてUbuntu 9.04環境に向けて設定ファイルの修正を行う。修正するファイルは、「anjuta-2.28.0.0/debian/control」ファイルだ。このファイルの中ごろ「libgda-4.0-dev」の部分を「libgda4-dev」に書き換えて保存しよう。

               libunique-dev,
               libgda-4.0-dev (= 4.0.0),    ←「libgda-4.0-dev」の部分を「libgda4-dev」に書き換える
               liblocale-gettext-perl,
Standards-Version: 3.8.0
Homepage: http://www.anjuta.org

 設定ファイルの編集が完了したら、「anjuta-2.28.0.0」ディレクトリ内で次のように実行してコンパイルとパッケージの作成を行う。

$ cd anjuta-2.28.0.0
$ sudo dpkg-buildpackage -ppgp -rsudo
$ cd ../

 以上が正常に完了すると、Anjutaのdebパッケージが作成されているはずだ。最後に作成したAnjutaパッケージをインストールする。

$ sudo dpkg -i anjuta-common_2.28.0.0-0ubuntu3_all.deb anjuta_2.28.0.0-0ubuntu3_i386.deb

「インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイート」のインストール

 Moblinの標準的な開発環境の構築が完了したら、続いて「インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイート」のインストールを行う。なお、インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートの対応OSとしては下記が挙げられている。

  • Ubuntu 9.04
  • Asianux 3
  • Fedora 10/11

 本記事では、前述の通りUbuntu 9.04に対してインストールを行っていく。なお、インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートでは30日間全機能を無償で利用できる評価版が用意されている(ダウンロードページ)。この評価版はライセンスの購入後そのまま正式版としても利用できるので、まずはこちらを試してみると良いだろう。

 インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートのインストールは、コマンドラインで行う。ダウンロードした配布パッケージを適当なディレクトリに展開し、含まれる「install.sh」スクリプトを実行しよう。

$ tar xvzf l_MID_APPDBG_p_2.1.008.tgz
$ cd  l_MID_APPDBG_p_2.1.008
$ ./install.sh

 インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートのインストールにはgccやg++、libstdc++5、patch、default-jreなどのパッケージが必要である。もし必要なパッケージがインストールされていない場合、その旨が表示されてインストールが中断される。その場合、メッセージを確認して必要なパッケージをインストールしよう。

 インストールスクリプトを実行すると、初めにインストールに使用するユーザー権限が尋ねられる。Ubuntuの場合、デフォルトではrootアカウントが無効化されているので、「2. Install to root for system wide access for all users using sudo privileges and password」を選択してsudoコマンドを利用したインストールを選択する。続いてパスワードを入力し、インストール作業を進めていこう。

Please make your selection by entering an option.
Root access is recommended for evaluation.
To install Intel(R) VTune(TM) Performance Analyzer you should choose root instal
lation.

1. Install as a root for system wide access for all users [default]
2. Install to root for system wide access for all users using sudo
   privileges and password
3. Install as current user to limit access to user level

h. Help
q. Quit

Please type a selection [1]: 2 ←「2」を選択する
Attempting to log in as sudo root...
パスワード:   ←パスワードを入力する

 続いてライセンスが表示され、「ライセンスに承諾するなら『accept』と入力せよ」という旨のメッセージが表示されるので、ライセンスを確認して「accept」と入力しよう。

Do you agree to be bound by the terms and conditions of this license agreement?
Type "accept" to continue or "decline" to back to the previous menu: accept  ←「accept」と入力する

 このインストーラではさまざまな設定項目が用意されているが、あとは基本的にはデフォルト設定のままで構わない。設定を尋ねられる場面でそのままEnterキーを入力すれば、デフォルトの設定が使用される。途中でシリアルナンバーの入力が求められるが、評価版を利用している場合はダウンロードの際に登録したメールアドレスに評価版用のシリアルナンバーが送付されるので、これを入力する。

If you have a serial number, please select option 1 below andprovide your serial number to activate and install your software.
--------------------------------------------------------------------------------

    1. Provide your serial number [default]
    2. View additional information about software activation
    3. How do I find my serial number?
    4. Where can I purchase a serial number?

    h. Help
    b. Back to the previous menu
    q. Quit
--------------------------------------------------------------------------------

Please type a selection or press "Enter" to accept default choice [1]:
Note: Press "Enter" key to back to the previous menu.
Please type your serial number (the format is XXXX-XXXXXXXX): XXXX-XXXXXXXX  ←シリアルナンバーを入力する
--------------------------------------------------------------------------------

Activation completed successfully.

 なお、デフォルト設定では/opt/intel/atom/以下にコンパイラや関連ツールがインストールされる(表1)。また、コンパイラなどの利用には各種環境変数の設定が必要だ。これらをまとめて行うスクリプトファイルが「/opt/intel/atom/Compiler/11.1/056/bin」内に用意されているので、利用前に適宜ロードしておこう。たとえばbashを利用している場合は、次のように実行すれば良い。

$ . /opt/intel/atom/Compiler/11.1/056/bin/iccvars.sh
表1 インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートのデフォルトインストール先
ディレクトリインストールされるファイル
/opt/intel/atom/Compiler/11.1/056/コンパイラ関連ファイル
/opt/intel/atom/Compiler/11.1/056/binコンパイラの実行ファイル
/opt/intel/atom/Compiler/11.1/056/lib/ia32/各種ライブラリファイル
/opt/intel/atom/Compiler/11.1/056/include/各種ヘッダーファイル
/opt/intel/atom/Compiler/11.1/056/ipp/lp32/includeIPPのヘッダーファイル
/opt/intel/atom/Compiler/11.1/056/ipp/lp32/libIPPのライブラリファイル
/opt/intel/atom/vtuneVTune(プロファイラ)関連ファイル
/opt/intel/atom/idb/2.1.008/デバッガ関連ファイル
/opt/intel/atom/documentation各種ドキュメント

テスト・デバッグ用環境のセットアップ

 前述のとおり、Moblinアプリケーション開発ではLinuxをインストールした開発用PCと、Moblinをインストールしたテスト・デバッグ用環境という2つの環境を使用する。続いては、テスト・デバッグ用Moblinマシンの環境設定について解説しておこう。

Moblinの動作環境

 テスト・デバッグ用のMoblin環境として、Moblin SDKの公式ドキュメントでは「Moblinをインストールした実機、もしくは仮想環境を用意する」との旨が述べられている。しかし、MoblinのWebサイトで配布されている最新版(Moblin 2.1 Netbooks and Nettops Project Release)をVMwareやVirtualBoxといった仮想環境で動かすには若干面倒な設定が必要である。また、Moblinのデスクトップ環境は3Dグラフィックエフェクトを多用しているためか、筆者の環境では仮想環境で実行すると操作がもたつき、実用的ではなかった。そのため、できれば実機を用意して利用することをお勧めする。Moblinの動作環境は次の表2のとおりだ。

表2 Moblinの動作環境
構成要素必要スペック
CPUAtomもしくはCore 2
GPUインテルのチップセット内蔵GPU(GMA500を除く)

 注意しなければならないのが、NVIDIAやAMD(ATI)製GPUについてはサポート対象外である点だ。また、機種によっては無線LAN機能が使えないものもある。MoblinのWebサイトでは現在Moblinの動作が確認されているハードウェア一覧が公開されているので確認しておくと良いだろう。もちろん、これ以外の機種でも動作する可能性はある。

Moblinのダウンロードとインストールの準備

 Moblinは「live image」形式で公開されており、ダウンロードしたイメージファイルをCD-R等に書き込めばそこから直接システムを起動できる。また、USBメモリ等に書き込み、そこから起動することも可能だ。

 live imageからPCを起動し、ブート画面で「Installation Only」を選択するとインストーラが起動する(図19)。インストールに必要な設定は一般的なLinuxディストリビューションとほとんど同じなので、Linuxのインストールを行ったことのあるユーザーであれば迷うことはないだろう。

SSHサーバーとrsyncのインストール

 Eclipse/Anjuta用のMoblinプラグインには、SSHやrsyncを使用して作成したアプリケーションをデプロイする機能がある。この機能を利用するには、テスト/デバッグ用のMoblin環境にSSHサーバーおよびrsyncがインストールされている必要がある。Moblin環境にこれらをインストールするにはMoblinでターミナルを起動し、次のように「yum install」コマンドを実行すれば良い。

$ sudo yum install openssh-server
$ sudo yum install rsync

 以上で、Moblinアプリケーションを開発するためのひと通りの環境構築が完了した。次回は、Moblin SDKに含まれるツールの使い方や、インテル Atom プロセッサー向け インテル アプリケーション・ソフトウェア開発ツール・スイートを利用するための設定など、実際のアプリケーション開発について説明していく。