Batocera.linux 36(っぽいの)をビルドしてみた

Batocera.linux ってなんじゃらほい?

…って人には無用な記事なのですが、
とりあえずどんなものかはGitHubでまとめてあるのでそっちで。
興味なかったらお帰りよろしう。

ビルド環境構築

これについてもひとまずGitHubでまとめてあるのでそっちで。
現在では変更点あるのですが、それは順をおって説明していく。

Batocera 36(っぽいの)

毎度のことなんだけど、Batocera.linuxってリリース時のソースに
タグ打ってくんないんすよ。
まーあるにはあるんですけどね…
この記事書いてる4/22時点ではbatocera-35までしか。
で、どーでもよくなった頃にいつの間にか入れてくるスタイル。

というわけで、本家ソースのブランチ眺めながらそれっぽいところに
あたりつけて、こちらではMaybeBatocera36ってブランチ名つけてます。

最初の関門

Batocera 33では前述のビルド環境ですんなりいけた。
Batocera 34では諸問題ありつつも、なんとかなっていた。
Batocera 35では対処不能な状態で移行を諦めた。
   :
Batocera 36は…前途多難ですね…
   :
 (数時間後)
   :
案の定。

わけわからんエラーでビルド失敗の図

gtkとかこういった低水準の部分でエラー出されても無闇に
手を入れられないので困ったもんだ。
Batocera 34の頃にも斯様な相性問題っぽいのありまして、
バージョン調整とかも試してみたんだけどね。
それで無理矢理ビルド通した結果、正常動作してくんないと。
根拠不明な修正はロクなことにならない、これ鉄則。

で、相性自体を解決する趣旨でいろいろ試した結果、
Ubuntu 22.10でビルド環境組むのが正解だったという。
(それでいて公式ドキュメントがUbuntu 18~20のままなんだいぢわる)

まだまだ関門

Ubuntu 22.10でビルドを開始して一晩が経った頃、ビルドエラー発生。
Batocera.linuxのプロジェクトは外部のパッケージ類を取り込まずに
その外部から直接拾ってくるワイルドな構成でして、それ故に
リンク切れで404 Not Foundとか度々出てくるのでありました。

まず libretro-scummvm
参照先側でcommitが削除された御様子。
ひとまず、去年11月ぐらいに参照してたcommitが生きてたので戻し。

次に kodi19-resource-language-tr_tr
これは参照先が直近3バージョンしか保持しない方針のようで
古くなった参照が度々くたばるやつ。
9.0.37を参照してますが、ビルド時点では9.0.38~40しかない。
これは単純に最新版にでもしとけばいいだろう、たぶん。

もひとつ rtl8821cu
これも参照先側でcommit削除…というかリポジトリごとなくなってる。
ひとまず後継リポジトリっぽい 8821cu-20210916 でも拾っとく。

でけた(たぶん)

といった具合ではありますが、なんとかビルドは完了。
一応それなりに動いてはいる。

今回の成果

Batocera 36 をソースからビルドできることが判明し、
拙作カスタム品 NullPopPoCustom の移行も可能となった。

今後の予定

NullPopPoCustom の移行も見据えつつ、ついでに
公共性の高いハックは本家Batoceraへの提供も可能な形に
整えておきたい。
そのためには、本家Batoceraの最新版ソースを
アクティヴに追跡しつつ、それに対応したブランチを
用意しておく必要あるわけで。
この点については、極力安定確認したソースにとどめておく
NullPopPoCustom の方針と相反するところなので、
専用のブランチを別途用意して本家の更新を追跡し続ける
運用になるだろうと。


この記事が気に入ったらサポートをしてみませんか?