Armadillo用の標準開発環境をATDE(Atmark Techno Development Environment)といいます。
ATDEは仮想マシン上で動作するLinuxデスクトップ環境(Debian GNU/Linux)で、開発に必要なソフトウェア一式がプリインストールされています。
ATDEはVMwareイメージとして提供されているため、作業用PCのOSがWindowsであるかLinuxであるかを問わず、VMwareを実行できる環境であれば、ATDEを実行することができます。
Armadillo-600シリーズ用の標準開発環境は、ATDE7となっています。
ATDE7のベースはDebian GNU/Linux 9 (コードネーム "stretch")です。
ATDE7 のインストール及び基本的な設定方法については、Armadillo入門編「開発環境の構築と基本操作」を参照してください。
この章では、Armadillo入門編で触れなかったATDE7の運用方法について説明をおこないます。
Debian GNU/Linuxではアプリケーションプログラムやライブラリなどのソフトウェアの管理はDebianパッケージと呼ばれるパッケージ単位で行います。
この章では、Debianパッケージを検索し、それをATDE7へインストールする方法について説明します。
3.1.1. ソフトウェアが含まれるパッケージを検索する
まず、インストールしたいアプリケーションプログラムやライブラリが含まれるパッケージのパッケージ名を知る必要があります。
パッケージ名を調べる一般的な方法には、以下のものがあります。
-
Debianのパッケージ検索[]から検索する。
-
apt searchを使用しパッケージを検索する。
-
すでにインストールされているファイルからパッケージ名を検索する。
本章ではこれらの方法について、説明します。
| apt-getとaptitude |
---|
aptと同様の機能を持つコマンドにapt-getとaptitudeがありますが、現在はaptの使用が推奨されています。 |
3.1.1.1. Debianパッケージページで検索する
debian.org(Debian GNU/Linuxの公式サイト)のパッケージページでDebianパッケージの検索をすることができます。
Debianのパッケージ検索でのパッケージの検索方法としては以下の方法があります。
-
パッケージ名
-
パッケージ説明文
-
ソースパッケージ名
-
パッケージに含まれるファイルのパス
それぞれの検索方法でパッケージを選択し、ダウンロードすることができます。
| Debian GNU/Linuxのバージョンとアーキテクチャ |
---|
Debian GNU/Linuxには安定版(stable)、テスト版(testing)、不安定版(unstable)、旧安定版(oldstable)というリリースが存在します。
それぞれ用途・更新頻度・サポート体制が違います。 ATDE7では、2019年4月現在の安定版(stable)であるDebian GNU/Linux 9 (コードネーム "stretch")をベースに開発環境を構築しています。 また、Debianでは各種アーキテクチャ用のパッケージが提供されています。 Intel x86系CPU用のアーキテクチャ名はi386です。ATDE7では、このアーキテクチャを使用します。 ARM CPU用には、armel[]とarmhf[]の二つのアーキテクチャがありますが、Armadillo-600シリーズはarmhfアーキテクチャ用のパッケージを使用します。 |
aptコマンドの引数にsearchを付けて実行することでパッケージの検索ができます。
パッケージ名やパッケージの説明に対して検索できます。
例えば「coreutils」というlsコマンドやcpコマンドなどの基本的なコマンドが含まれるパッケージを検索する場合は以下のコマンドを実行します。
一番左に表示されているものが、パッケージ名です。すでにインストール済みのパッケージについては
一番右に[インストール済み]と表示されます。
3.1.1.3. すでにインストールされているパッケージから逆引きする
ATDE7にはインストールされていないソフトウェアが、Debian GNU/Linux 9.0などがインストールされている作業用PCには入っている場合があります。
この章では、ファイル名やコマンド名は分かるが、パッケージ名が分からないときに便利なコマンドを紹介します。
インストールされているファイル名や、コマンド名からパッケージを調べるにはdpkgコマンドに-Sオプションを付けて使用します。
ここでは例としてlsコマンドがどのパッケージに含まれているかを調べます。
whichコマンドを使ってlsコマンドのパスを調べた結果を、dpkgコマンドの引数として指定しています。
dpkg -Sはファイルのパスで検索してくれます。
ファイル名ではなく、パスを使用したほうが検索結果が少なく便利です。
dpkg -S /bin/lsを実行した結果から、lsコマンドはcoreutilsパッケージに含まれていることが分かります。
インストールしたいパッケージのパッケージ名が分かれば、apt installでパッケージをインストールできます。
apt installは、指定されたパッケージ名のパッケージをダウンロードし、インストールまでを行います。
例として、SSHサーバーのopenssh-serverパッケージをインストールする場合、図3.3「apt installによるパッケージのインストール」のようになります。
aptコマンドにはいろいろな機能が備わっています。
詳しくはman aptを参照してください。
3.2. ATDE7にクロス開発用ライブラリをインストールする
ここでは、クロス開発用ライブラリパッケージのインストール方法を紹介します。
ATDE7に、クロス開発用ライブラリパッケージをインストールする手順は難しくありません。
まずは、次のコマンドを実行します。
このコマンドを実行すると、armhfアーキテクチャ用のパッケージを--force-architectureを使用せずにインストールできるようになります。
以上で準備は完了です。
例として、armhf用のlibboostの開発用パッケージ(libboost-system-dev:armhf)をインストールしてみます。
| パッケージ名の最後が-devのパッケージ |
---|
パッケージ名の最後が-devになっているパッケージは開発用のものです。開発
用パッケージにはヘッダーファイルなどが入っています。例えばlibjpeg62パ
ッケージの開発用パッケージ名は、libjpeg62-devになります。libjpeg62を使
用するソースコードをコンパイルする場合は、libjpeg62-devパッケージも必
要になります。 クロス開発を行う場合はこのようなケースが多いので、新しいクロス開発用パッ
ケージをインストールする場合、開発用パッケージもインストールしておくの
が良いでしょう。 |
図3.6「armhf用のlibboostの開発用パッケージのインストール」のログを見ると分かりますが、libgcc1:armhfやlibgcc-6-dev:armhfなど、libboostが依存しているパッケージも一緒にインストールされます。
このため、アプリケーションプログラムの開発者がパッケージの依存関係を気にする必要はありません。
libboostを利用したアプリケーションプログラムをArmadillo上で動作させる際は、libboostをArmadilloにインストールします。
もちろん、この時もパッケージの依存関係は自動的に処理され、libboostと一緒にlibboostの動作に必要なパッケージがインストールされます。