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