タイトルの通り。
Debian13+debパッケージ版rubyでmini_racerをビルドできない。またv8のビルドでトラブル。またか。またです。v8でビルド失敗するのはlinuxでもmacOSでもホント多い。
エラーログは以下の通り。
compiling mini_racer_v8.cc
linking shared-object mini_racer_extension.so
/usr/bin/ld:
/var/lib/gems/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8/x86_64-linux-gnu/libv8/obj/libv8_monolith.a
が見つかりません: そのようなファイルやディレクトリはありません
collect2: error: ld returned 1 exit status
make: *** [Makefile:265: mini_racer_extension.so] エラー 1
で、libv8_monolith.a なんだが作成できてはいた。場所がちょっと違う。
/var/lib/gems/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8/x86_64-linux/libv8/obj/libv8_monolith.a
x86_64-linux-gnuディレクトリでなくx86_64-linuxなところがある。
コードが悪いのかDebianの仕様がマズいのかは置いておくとして、以下でどうにかなる。
$ cd /var/lib/gems/3.3.0/gems/libv8-node-24.1.0.0-x86_64-linux/vendor/v8
$ ln -s x86_64-linux x86_64-linux-gnu
これでビルドしなおせば、とりあえず成功する。