1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ソースファイルからビルド&インストール

Posted at

はじめに

アプリをインストールする場合、apt-get installコマンドで、リモートリポジトリからアプリをダウンロードしてインストールすることになるが、それ以外にも、ソースファイルをダウンロードして、自分の環境でコンパイルしてインストールする方法もあります。ただし、この場合は、自己責任で行って下さいという話になります。
ソースコードからコンパイルする方法について、rsyncというアプリを手本に、実際に試してみることにする。

rsyncの公式サイトはこちらです。
https://rsync.samba.org/

環境

focal (Ubuntu 20.04)

やったこと

ダウンロード先ディレクトリをtmpにするために、tmpにカーソルを移動します。

cd /tmp

wgetコマンドを使ってソースファイルをダウンロードします。拡張子はtar.gzとなっています。拡張子のtarは複数ファイルを1つのファイルにまとめたファイルで、tarファイルだけであれば、圧縮は行われていません。圧縮するとgzの拡張子がつきます。.tar.gzと拡張子が2つあるということは、複数のファイルを1つのファイルにまとめた後、そのファイル対して圧縮をかけたということになります。

wget https://download.samba.org/pub/rsync/src/rsync-3.2.3.tar.gz

tarコマンドでアーカイブを解凍して展開します。
オプションの意味は次のとおりです。

xは、アーカイブを展開する
vは、展開した後の個々のファイルを表示する
fは、ファイル名を指定します

tar -xvf rsync-3.2.3.tar.gz

ls -lすると、rsync-3.2.3というディレクトリが作成されていることが確認できます。rsync-3.2.3ディレクトリに移動します。

cd rsync-3.2.3

ls -l | grep configureすると、configure.shというスクリプトファイルがあります。このスクリプトファイルを実行します。

./configure

スクリプトファイルの実行が失敗しました。エラーが表示されています。

Configure found the following issues:

- Failed to find xxhash.h for xxhash checksum support.
- Failed to find zstd.h for zstd compression support.
- Failed to find lz4.h for lz4 compression support.

See the INSTALL file for hints on how to install the missing libraries and/or
how to generate (or fetch) man pages:
    https://github.com/WayneD/rsync/blob/master/INSTALL.md

To disable one or more features, the relevant configure options are:
    --disable-xxhash
    --disable-zstd
    --disable-lz4

configure.sh: error: Aborting configure run

xxhashzstdlz4の3つのライブラリが存在していないことが原因です。ライブラリを別途インストールしてもいいが、--disable-xxhash--disable-zstd--disable-lz4の3つのオプションをつけることで、ライブラリの機能を無効化して実行することができるようです。

無効化して実行します。

./configure --disable-xxhash --disable-zstd --disable-lz4

スクリプトファイルの実行が成功しました。

rsync 3.2.3 configuration successful

configureは、Makefileを生成するためのスクリプトファイルです。Makefileが作成されていることが確認できます。(grep makefileでは検索されないので注意)

ls -l | grep Makefile

makeコマンドで生成されたMakefileを実行します。

make

これでコンパイル(ビルド)が完了しました。バージョンを表示して、正しく表示されればOKです。

./rsync --version

コンパイルされたアプリをインストールをします。make installは、makeファイルで作成された実行ファイルをインストールするコマンドです。nオプションをつけると、確認のために疑似的にインストールコマンドが実行されるだけで、実際にインストールは行われません。

make -n install

やりたいことが終わったので、ダウンロードしたファイルを削除します。

cd ..
rm -rf rsync-3.2.3
rm rsync-3.2.3.*
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?