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のデータ保存場所を変更する

/etc/docker/daemon.jsonに追記

Alexaにゲーミングマシンと周辺環境を終了してもらう

「Alexa Steamを終了して」ができるようになった

Alexaにゲーミングマシンと周辺環境を起動してもらう

PC起動、TV起動、サウンドバー起動がまとめてできるようになった

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

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