seamonkey-2.53.4 の clang80 も amd64 からのクロスコンパイルも失敗2022年01月06日 11時43分25秒

seamonkey-2.53.7 から seamonkey-2.53.9 まで同じエラーでコンパイルが失敗したので、作戦を変更。コードの問題ではない seamonkey-2.53.4 を再び試すことに。

最初に試したのが、clang11 を clang8 に変更。コンパイラも古いものの方がメモリを使わなかったり、オブジェクトの大きさが小さかったりする事が多いので、少しでもメモリ利用量を減らすために。

しかし、clang8 のリンカも同じところでメモリが足りずにエラー。

mozilla/old-configure のオプションを見ていて気が付いたのが、--target オプション。クロスコンパイルが出来るかも。--target は i*86、x86_64、aarch64 を取る。

そこで、FreeBSD 13.0-RELEASE amd64 を準備した。そこに FreeBSD 13.0-RELEASE の i386 の /usr/local を繋げる。FreeBSD の amd64 では i386 の実行ファイルや動的ライブラリをそのまま実行できる。問題はベースに入っている clang のメモリなので、/usr 以下の clang だけを使えれば良いかと思ったのだ。

しかし、今度は ./configure が終らずに失敗。そのままのエラーメッセージを記録するのを忘れたが、rust が i386 のクロスコンパイルが出来ないとのエラーだった。

seamonkey-2.53.4 は諦めて、また最新の seamonkey-2.53.10.2 でもう少し試してみることにする。

前回次回