intel macでruby-oci8

Oracleintel mac 用のバイナリを提供していません。 Oracle Instant Client 10.1.0.3 は ppc バイナリなので、intel CPU 用の ruby では動かないのです。 (日本のサイトには Mac OS X 用の instant client はないようです、 英語のサイトにあります。)

回避策としては以下の2つがあります。

* rubyppc としてコンパイルする。(Raimonds Simanovskisさんのblog を参照)
* ruby-odbcサードパーティODBCドライバ(Actual Technologies または OpenLink Software)を使用する。

今日みたら10.2.0.4 っていうバージョンにはIntel Mac用のリリースがありました。http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

ここから
- Instant Client Package - Basic
- Instant Client Package - JDBC Supplement
- Instant Client Package - SQL*Plus
- Instant Client Package - SDK
をダウンロードして解凍、中身を/usr/ora_instant_client/instantclient_10_2にコピーして

export DYLD_LIBRARY_PATH=/usr/ora_instance_client/instantclient_10_2
export PATH=$PATH:$DYLD_LIBRARY_PATH

して、sqlplusが動けばinstanstclientのインストール完了。



その後、ruby-oci8をダウンロード、解凍。makeする前に、

export RC_ARCHS=i386

しないと、PPC用でコンパイルしようとしてエラーが出ました。
で、

make
make install

すれば、rubyからoci8で接続できるはずっすー