オープンソースに関する一般ユーザーの常識【導入編】:Undocumented savvy(1/3 ページ)
Linuxを筆頭に、OSSの利用は当然のこととなってきた。ここで問題となるのが、ライセンスやコミュニティーなど、オープンソース特有の決まり事である。本連載では、オープンソースに関する疑問点などをFAQ形式でお届けする。
Linuxを筆頭に、オープンソースソフトウェアの利用は当然のこととなってきた。ここで問題となるのが、ライセンスやコミュニティーなど、オープンソース特有の決まり事である。そこで本連載では、オープンソースに関する疑問点などをFAQ形式でまとめてみたい。ユーザーサイドと開発者サイドに分類して、それぞれのカテゴリにおける常識を身に着けておこう。本稿では、主にオープンソースソフトウェアの使用を目的とした導入時の常識を取り上げる。
今回取り上げるトピック
- ソースコードからのインストール作業の流れ
- コンパイラオプションの指定
- インストールディレクトリの指定
- インストールファイルの記録
- パッケージシステムによる管理
- SRPMパッケージの利用
ソースコードからのインストール作業の流れ
Q ソフトウェアをソースコードからインストールする際の一般的な流れを教えてください
一般的なソフトウェアでは、
といったソフトウェア構築やインストール環境の自動化ツールを使用しており、以下のような流れになります。
- ソースアーカイブを展開して、展開ディレクトリに移動
- configureスクリプトの実行 → Makefile作成
- 「make all」の実行 → コンパイル
- 「make install」の実行 → インストール
まず、configureスクリプトを実行します。これは可能な限り多くのプラットフォームで動作することを意図したシェルスクリプトです。これを実行すると、ソフトウェアをビルド*するのに必要な情報をシステムから自動的に読み取り、記録します。このとき、各オプションを指定することで、より詳細なビルド方法を指定できます。
configure[<オプション>]
次に、makeコマンドを実行します。通常、デフォルトで「all」というターゲットが呼び出され、「make」を実行すると、すべてのコンパイル作業を行います。
make
最後に、makeコマンドの「install」ターゲットを呼び出して、コンパイルされたソフトウェアをインストールします。
make install
コンパイラオプションの指定
Q コンパイラオプションで高速化したいのですが、configureスクリプト実行時にそのような設定を行うことは可能でしょうか?
環境変数を指定した上でconfigureスクリプトを実行すると、コンパイラオプションなどを追加できます。例えば、
$ env CFLAGS=-O3 ./configure
のように実行すると、コンパイラオプションとして「-O3」が追加されます。このオプションはgccの最適化フラグ*であり、「-O1」から「-O3」までで数値が多いほど最適化の度合いが高くなります。
最適化のレベルを上げるとまれに挙動がおかしくなることがあるので、そのような場合には「-O0」オプションを指定すると良いでしょう。また、デバッグ時にも効果があります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
このページで出てきた専門用語
automake
Makefileを半自動的に生成するツール。
autoconf
GNUソフトウェアをインストールする際によく使われる、configureスクリプトを自動生成するツール。
libtool
システムに依存するライブラリの互換性を自動的に処理するツール。
ビルド
ソースコードをコンパイルし、実行プログラムを作成すること。
gccの最適化フラグ
最適化フラグの詳細については、「Gentoo Linux Wiki」のCFLAGSを参照するとよい。
Copyright © ITmedia, Inc. All Rights Reserved.