seamonkey-2.53.10.2 は FreeBSD 13.0-RELEASE i386 でコンパイルエラー2022年01月03日 10時28分08秒

seamonkey を更新すべく、時間に余裕のある去年の年末休暇から試行錯誤を始めた。現在コンパイルを試しているのは FreeBSD 13.0-RELEASE i386 用。ports/pkg も 13.0-RELEASE を使っている。clang は バージョン 11 が入っていて、pulseaudio と rust を新規に pkg からインストール。python2 等もビルドに使われるが、それらは以前から他の依存関係によりインストール済みだった。

seamonkey-2.53.10.2 は新しいコンパイルの仕方に変わっている様だ。./mach buildでビルドを始動する。

.mozconfig をソースコードの一番上のディレクトリに作成すると、それが読み込まれる。これは以前からの動作だが、 以前は更にホームディレクトリ内の .mozconfig も読み込んでいたが、それは廃止されている。

% cat .mozconfig 
# pkg install pulseaudio
# pkg install rust
export CC=clang
export CXX=clang++
mk_add_options MOZ_OBJDIR=/mnt/obj/seamonkey-2.53.10.2
ac_add_options --prefix=/usr/local
ac_add_options --enable-optimize
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
./mach が configure も処理し、CPU の数に応じて並列コンパイルを始めてくれる。
% ./mach build
Rust で書かれた encoding_rs のコンパイルに失敗。
0:06.55 error[E0432]: unresolved import `simd_funcs`
 0:06.56   --> /usr/obj/seamonkey-2.53.10.2/third_party/rust/encoding_rs/src/x_user_defined.rs:16:13
 0:06.56    |
 0:06.56 16 |         use simd_funcs::*;
 0:06.56    |             ^^^^^^^^^^ maybe a missing crate `simd_funcs`?
 0:06.56 error[E0432]: unresolved import `packed_simd`
 0:06.56   --> /usr/obj/seamonkey-2.53.10.2/third_party/rust/encoding_rs/src/x_user_defined.rs:17:13
 0:06.56    |
 0:06.56 17 |         use packed_simd::u16x8;
 0:06.56    |             ^^^^^^^^^^^ maybe a missing crate `packed_simd`?
 0:06.62 error[E0425]: cannot find function `load16_unaligned` in this scope
 0:06.62    --> /usr/obj/seamonkey-2.53.10.2/third_party/rust/encoding_rs/src/x_user_defined.rs:120:34
 0:06.62     |
 0:06.62 120 |             let input = unsafe { load16_unaligned(src_ptr.add(i * 16)) };
 0:06.63     |                                  ^^^^^^^^^^^^^^^^ not found in this scope
前回次回