定期的に目黒の静内で開催している @koichiroo 派閥の会合に参加してきた。いわゆる IC として引き続き頑張ってますよ〜とか、ストックオプションの渋い話良い話など会合でしかできないような話をあれこれしているうちに3時間くらいシュッと経過してしまって楽しかった。
タイトルが全てシリーズです。RubyKaigi の時に rbs のビルドに失敗するという報告があって、全く原因がわからんという話をしていたと思うんですが、 @kateinoigaku がシュッと登場して原因を解説してくれた。
https://github.com/rbenv/ruby-build/discussions/2106#discussioncomment-4295923
要は macOS の SIP(System Integrity Protection) を無効にした環境で、 --enable-shared
をすると arch が異なるバイナリを差し込もうとしてエラーが起きる、ということで、SIP が有効な場合はそもそも差し込むということができないので問題が起きなかった、ということだった。これ DYLD_INSERT_LIBRARIES
が SIP が有効な時にそもそも動かないのか、特定のパスなら動く(それ以外は防ぐ)のかが気になるけど、runruby.rb
から差し込む処理を消すことで問題自体は解決できそうなのでよかった。
これ、そもそも DYLD_INSERT_LIBRARIES
の処理が不要である、ということについては同意するけど、SIP を外した環境でも動作するように、みたいな話だとしたら全くもって同意できないというか、自分の持っている環境でそこまでやってられないので SIP を外すのは自己責任かつ、何かあったら自分で解決するまで調べるという覚悟がないならやめてほしい。