Debianパッケージ化されてなく、いろいろやってみましたが、とりあえず挫折。メインのパッケージはあるのですが、Ruby-ODBCの部分のサブパッケージだけがないのです。シュートコースがみごとに消されている感じ(^^;。複雑な関係なのですが、簡単に書いてみます。
Ruby APIとしては3つの方法があります:
DBI:ODBCがもっとも素直な方法です。しかし、DBD(DataBase Driver)であるdbd_odbcのサブパッケージがありません。なぜなら、これがdependsしているrubyodbcがパッケージ化されていないからです。これをやるのが先決かな。私はSQLRelayの道を行ってしまいました。
SQLRelayはconnection poolingしてくれるサーバ&各種言語APIです。だから、これでODBCが使えれば一石二鳥です。Ruby関連では、独自APIとDBI APIとがあります。sqlrelayパッケージがあって、そのlibsqlrelay-rubyパッケージに独自APIがあるのですが(Ruby native library)、なぜかドキュメントだけで肝心のライブラリがありません。バグリポート出しておきました。パッケージソースをとってきて自分でビルドしてみました。Debian的には成功したのですが、Rubyのライブラリ呼び出しでsegmentation faultが出て挫折。
DBI:SQLRelayは、文字通り、DBIにおけるSQLRelayへのDBDです。しかし、DBIパッケージにはこの部分がありません。パッケージソースから自分で作れたのですが、SQLRelayのnative libraryにdependsしていますので、SQLRelay待ちです。なお、SQLRelay upstream内にもDBI:SQLRelayが含まれているのですが、DBIの方でやるのが正当でしょう。作者はDBIの方なので。
FreeBSDではきちんとパッケージ化されているようなので、余計悔しいです。