ホーム DoRuby pg 0.9.0 の Windows版バイナリをMac OS XでCross compileする

pg 0.9.0 の Windows版バイナリをMac OS XでCross compileする

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

こんにちは、たろちゃんです。先日同僚のWindows環境にpgが必要になったのですがWindows側でコンパイラがなかったのでMac OS Xで作成してみました。

今回はMacPortsの環境を使います。

まず、Windowsのソフトウェアをクロスコンパイルできるようにするためにmingw32の環境をMacPortsで取得します。

$ sudo port install i386-mingw32-gcc

次に必要なgemをインストールします。

$ sudo gem install rdoc
$ sudo gem install rake-compiler

次にクロスコンパイルされたrubyを構築します(調べた当時ではruby-1.8.6 p398がビルドされました)。

$ rake-compiler cross-ruby

次にpg-0.9.0のgemを取得して展開します。

$ gem fetch -v 0.9.0 pg
$ gem unpack pg-0.9.0.gem

最後にrake crossを使ってpgをビルドします。

$ cd pg-0.9.0
$ rake cross native gem POSTGRESQL_VERSION=8.4.6

あとはrake crossを実行したところのpkg以下にできる pg-0.9.0-x86-mingw32.gem をWindows環境で手動インストールします。

今回の注意点としては、クロスコンパイル環境として ruby 1.8.7 を利用したところクロスコンパイルができない状態があり、調べてみると細かいパッチレベルでできるできないがあったりするようです。現段階では1.8系でクロスコンパイルをするには1.8.6の方が安定しているのではないかという印象がありました。

記事を共有

最近人気な記事