Lから始まるLinux

5章23話
ビルド(手順)
5章24話 ビルド(実践)
もくじ
5章25話
BOINC
ビルド(実践)
若木 みどり
前回はソースコードを ビルドする手順を教わったよ!
若木 しげる
今回は実際に ソースコードをビルドしよう!
必要パッケージインストール
若木 しげる
今回は GNU Hello をビルドしよう! 「Hello, world!」と表示するコードを パッケージ化したものだよ
若木 みどり
初めて試すのに ちょうど良さそうな題材だね!
若木 しげる
まずは必要となるパッケージ gccmake インストールしよう!
sudo apt install -y gcc make
若木 みどり
OK!インストールできたよ!
ダウンロード
若木 しげる
次に GNU Hello のソースコードをダウンロードしようまずは作業用ディレクトリ hello を作るね
mkdir -p ~/hello
若木 みどり
ディレクトリを作ったよ!
若木 しげる
作成したらそこへ移動しよう
cd ~/hello
若木 みどり
うん!次はどうすればいいのかな?
若木 しげる
そうしたら 公式ページ からソースコードを取得しようバージョン番号は変数に分けておくと柔軟性を持たせられるよ
VERSION=2.12.1
curl -LO "https://ftp.gnu.org/gnu/hello/hello-$VERSION.tar.gz"
若木 みどり
ダウンロードが終わったよ拡張子が .tar.gz ということはtarball なんだね!
若木 しげる
そのとおり!そのままでは使えないのでtar で展開しよう
tar xf "hello-$VERSION.tar.gz"
若木 みどり
うん!
若木 しげる
hello-$VERSION というディレクトリが展開されるよその展開されたディレクトリへ移動しよう!
cd "hello-$VERSION"
若木 みどり
いよいよソースコードとご対面だね
configure
若木 しげる
次は configure スクリプトだよまずはどんなオプションがあるか確認しよう!
./configure --help
若木 みどり
たくさんオプションがあるけどどれを使えばいいのかな?
若木 しげる
一般的にはインストール先を指定する--prefix オプションを使うよ以下のようにして実行しよう
./configure --prefix=/usr
若木 みどり
/usr へインストールするようにしたよ!
make
若木 しげる
次に make を実行しよう
make
若木 みどり
おお!hello という実行ファイルができた!これはもう動くの?
若木 しげる
実行ファイルは完成しているよ以下のように動かしてみよう
./hello
若木 みどり
うん!やってみるね!
Hello, world!
若木 みどり
実行ファイルが期待どおりに動いているね!ビルド成功だよ!
make install
若木 しげる
最後に make install を実行しよう/usr 配下にファイルを配置するのでsudo が必要になるよ
sudo make install
若木 みどり
これで helloシステム全体で使えるようになったんだね
若木 しげる
実行ファイルと一緒に関連ファイルなども適切な場所に配置されるんだ例えば hello のマニュアルも配置されて見れるようになっているよ
man hello
まとめ
若木 みどり
今回は GNU Hello をビルドしてインストールしたよ!こうやってビルドするんだね
若木 しげる
パッケージ管理システムから手に入るパッケージは大多数のユーザが使えるよう無難な設定のビルドで作られているんだソースコードからビルドすることで特別な機能を有効にしたり自分の環境に最適化した実行ファイルを作ることができるよ!