_ [debian] 続々・ruby-cairo 1.16.4-3

今日見たら riscv64 がなぜか成功 してた。ruby2.5 の修正は、riscv64 の QEMU 環境だと4時間かかってもテストが終わらなかったので諦めてたんだけど。ログを見ると、どうやら buildd 外でビルドした(?)らしい ruby2.5 riscv64 パッケージを使ったみたいだ。

_ [debian] ruby2.5 x32 port

ruby2.5 のビルド失敗 の件、タイムリーなことに sparc64 は対応する人がいるみたいなので他のアーキテクチャを見てみた。 #920017 にて x32 のビルド失敗も修正提案が出ていたので x32 の chroot 環境を作って追試してみた。 X32 Kernel - X32Port にある通り、カーネルオプションに syscall.x32=y をつけて起動すると dmesg に

Enabled x32 syscalls

と出て有効になった。次は QEMU Chroot - X32Port を参考に chroot 環境を作ったけど、libcryptsetup12 パッケージが足りなくてうまく作れなかった。仕方ないので debootstrap に –no-resolve-deps をつけて dpkg-deb -x でパッケージを展開した後で tar で固めて base-x32.tgz を作ったけど、後でちゃんと作り直したい。 とりあえず x32 chroot 環境はできたので、 #920017 のパッチを作ってビルドしてみる。該当の TestTime#test_memsize テストはパスしたけど、

corrupted size vs. prev_size
make[2]: *** [uncommon.mk:698: yes-test-almost] Aborted (core dumped)

という別のエラーで止まってしまった。過去のビルドログ を遡ってみると、 2.5.5, 2.5.3, 2.5.1, 2.5.0, 2.5.0~rc1 は TestTime#test_memsize テストの失敗だけど、 2.5.0~preview1 は

*** Error in `./test/runner.rb: TestThread#test_blocking_mutex_unlocked_on_fork': corrupted size vs. prev_size: 0x0626f518 ***

という似たエラーが出ていた。これは malloc が出しているらしい。test_memsize の修正パッチと関係があるかはよくわからず。

_ [debian] gkrelluim: BD-Uninstallable on kFreeBSD-*

kFreeBSD-* で gkrelluim がビルドできないのは gkrellm がビルドできないからで、その gkrellm がビルドできないのは libgtop2 がビルドできないからのようだ。ひとまず porterbox で kFreeBSD を借りて修正パッチを作った。> #874301