きりかノート 3冊め

おあそびプログラミング

64bit機でも32bitのrubyをつくれるように

チケットきた。

(すべてintel系のはなし)

10.6上のMacPortsは、64bit機上ではx86_64でコンパイルしようとする。ただし、macports.confに

build_arch i386

と書けば、原則32bit(= i386)でコンパイルしてくれるようになる。チケットくれた人は事情があってi386で環境を構築したいのだけど、port:rubyでチケットにあげたようなエラーになった、という話。

コンパイラオプションはmacportsが用意してくれるので、たいていの場合はなにもしなくてもうまくいく。rubyの場合は個別の.oまではi386なんだけど、librubyのビルド時にx86_64になってしまう。とりあえずARCH_FLAGを利用して対処。

暫定処置としては終了。たぶん+universalのときに無視させるような処置がないとヤバイと思うけど、それはあとで。