一般的な Linux でのビルド プロセスの多くは、このシナリオで機能します。状況に最適な方法を使用してください。
アプリケーション パッケージのソースコードは、さまざまな方法で取得できます。たとえば、tar ファイル フォーマットで、またはパッケージが存在する git リポジトリからダウンロードして、ソースコードを取得できます。
次は最も一般的なケースの一例です。
(オプション)アプリケーション パッケージが標準の configure/make/make install を使用してビルドできるかどうかを確認します。
bash$ tar --xvzf example-app.tgz
bash$ mkdir example-lib-install
bash$ cd example-app/
bash$ ./configure --prefix=/path/to/example-app-install
bash$ make
bash$ make install
場合によっては、./configure スクリプトに追加のオプションを渡す必要があります。たとえば、必要なオプションのコンポーネントと依存関係を指定する場合などです。追加オプションを渡すかどうかは、構築するアプリケーションに完全に依存します。
例:Ganglia とその依存関係の構築
この例では、ganglia と、必要なサードパーティ ライブラリ(libexpat、libapr、および libconfuse)を作成します。
libexpat
bash$ wget 'http://downloads.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz'
bash$ mkdir expat-install
bash$ tar xvzf expat-2.1.0.tar.gz
bash$ cd expat-2.1.0
bash$ ./configure --prefix=/home/sdk-user/expat-install
bash$ make
bash$ make install
bash$ cd ..
libapr
bash$ wget 'http://www.eu.apache.org/dist/apr/apr-1.5.2.tar.gz'
bash$ mkdir apr-install
bash$ tar xvzf apr-1.5.2.tar.gz
bash$ cd apr-1.5.2
bash$ ./configure --prefix=/home/sdk-user/apr-install
bash$ make
bash$ make install
bash$ cd ..
libconfuse
(注)
|
confuse には、./configure に追加の --enable-shared オプションが必要です。そうしないと、必要な共有ライブラリの代わりに静的にリンクされたライブラリがビルドされます。
|
bash$ wget 'http://savannah.nongnu.org/download/confuse/confuse-2.7.tar.gz'
bash$ mkdir confuse-install
bash$ tar xvzf confuse-2.7.tar.gz
bash$ cd confuse-2.7
bash$ ./configure --prefix=/home/sdk-user/confuse-install --enable-shared
bash$ make
bash$ make install
bash$ cd ..
ganglia
(注)
|
必要なすべてのライブラリの場所が ./configure に渡されます。
|
bash$ wget 'http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.7.2/ganglia-3.7.2.tar.gz'
bash$ mkdir ganglia-install
bash$ tar xvzf ganglia-3.7.2.tar.gz
bash$ cd ganglia-3.7.2
bash$ ./configure --with-libexpat=/home/sdk-user/expat-install --with-libapr=/home/sdk-user/apr-install/bin/apr-1-config --with-libconfuse=/home/sdk-user/confuse-install --prefix=/home/sdk-user/ganglia-install
bash$ make
bash$ make install
bash$ cd ..