RaspberryPi Zeroにgit 2.26.1をインストールする
Git 2.26.1にアップデートする際にRaspberryPi ZeroのSDカードが壊れてしまったので新しいSDカードでRaspbianの再インストールを行った。
その後まっさらな状態でソースからGit2.26.1をインストールしようとしたところエラーが出てハマったのでメモを残しておく。
sudo apt update
sudo apt install make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext
wget https://github.com/git/git/archive/v2.26.1.tar.gz -O git.tar.gz
tar -xf git.tar.gz
cd git-2.26.1
sudo make NO_GETTEXT=1 prefix=/usr/local all
sudo make NO_GETTEXT=1 prefix=/usr/local install
最終的には↑でインストールできた。
NO_GETTEXT=1にすると多言語サポートがオフになるらしい。
以下は発生したエラーのメモ。
最初他の環境と同じコマンドでコンパイルしようとしたところ以下のエラーが発生。
sudo make prefix=/usr/local all
SUBDIR git-gui
MSGFMT po/pt_pt.msg make[1]: *** [Makefile:252: po/pt_pt.msg] Error 127
make: *** [Makefile:2078: all] Error 2
その後、依存ライブラリをインストールして再実行したものの別のエラーが発生。
sudo apt-get install tcl-dev
sudo make prefix=/usr/local all
SUBDIR git-gui
SUBDIR gitk-git
SUBDIR templates
MSGFMT po/build/locale/pt_PT/LC_MESSAGES/git.mo
make: *** [Makefile:2584: po/build/locale/pt_PT/LC_MESSAGES/git.mo] Error 139
ここまできてNO_GETTEXTオプションの存在を知り、最初に書いた方法でインストールすることができた。
sudo make NO_GETTEXT=1 prefix=/usr/local all
sudo make NO_GETTEXT=1 prefix=/usr/local install
Zeroは性能が低いのでコンパイルとインストールにとにかく時間がかかる。
インストール完了後、取り急ぎSDカードを長持ちさせられるようにSDカードへの書き込みをなくす対応を行った。