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カードへの書き込みをなくす対応を行った。

参考


Related #raspberry pi

ngrokの代わりにCloudflare Tunnelを使う

botやwebhookを利用するサービスの開発が捗る

docker-compose build時に「no Space Left on Device」が発生

1年前にも同じエラーにハマってた

AlexaにPS4を起動してもらう

「Alexa、PS4をつけて(消して)」

crontab -rで全消ししてしまった時の対応

ログから復元できるものは復元してe, rオプションを封印した

next exportで書き出した静的サイトのconsoleに _next/data/xxx/.json 404エラーが出力される

Next.jsバージョンをv10.0.4にアップデートした