HugoのテーマをPaperModに戻した

Hugoのテーマをまた変更した。

コントリビュートとリリースとブログを一元管理したいということで自作のテーマを作成したけど、コントリビュートを自動で収集したくなったので、atinux/my-pull-requestsを使用することにした。

できたものはこれ、GithubのAPIから持ってくるのでこちらで運用する必要がない。

そういうわけで、hugo-Passageにあるコントリビュートカテゴリが必要なくなっため、ブログはブログだけを管理するように変更し、そのためにテーマを最初のhugo-PaperModに戻した。

Hugoのビルドは脆い

で、戻してnetlifyでビルドしたところ、失敗した。

テーマを変えるとビルド失敗するのはよくあること?なのでnetlify上で定義しているHugoのバージョンを見直してみたりしたけど、一向にビルドが通らない。

原因はバージョンではなくビルドイメージ

他の原因かとエラーを探ると、

hugo: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by hugo)
hugo: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by hugo)
hugo: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by hugo)
hugo: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by hugo)

というログが残されていた。

Netlify のビルド環境にインストールされている GLIBC(Linux の標準ライブラリ) のバージョンが、あなたが使っている Hugo のバイナリが要求するバージョンより古い のが原因です。

とのことらしい。

確かにビルドイメージをUbuntu Focal 20.04からUbuntu Noble 24.04 (default)に変更したところビルドが成功した。

腑に落ちない

ただそうするといままで成功していた意味が分からない。

腑に落ちないけれどChatGPTによると、

Netlify はビルド高速化のために、以前使った Hugo の実行ファイルをキャッシュしておく仕組みがあります。

とのこと。

つまり今までは最初に成功したときにHugoを使い続けていたのかもしれないとのこと。

それがいつのものかわからないし、どのバージョンかもわからない。

1:59:22 AM: Failed to fetch cache, continuing with build

ただ確かにログを見ると以前の Hugo バイナリキャッシュが使えなかったと書かれていた。

なので、解決策としてはビルドイメージをUbuntu Noble 24.04 (default)を変更するという着地になった。

ちょっと釈然としないので、もしわかりやすく説明できる人がいたら教えてください。

次テーマを変えようって思い立った時は、Hugoを辞めると思う。