Rubyインストール関連をまとめました。
1.このIntelMacには、Universalbinary でRubyをインストールする。
macsv1:/usr/local/bin root# file ruby
ruby: Mach-O universal binary with 2 architectures
ruby (for architecture ppc): Mach-O executable ppc
ruby (for architecture i386): Mach-O executable i386
Makefile にCFLAGS="-arch ppc -archi386"を追加する
2.rubyGem、Railsは Universalbinary の状態でインストールする
3.oracleinstantClientが、ppcバイナリ対応なので、ruby/ociは、rbconfig.rb
を修正してppcに見せかけてコンパイルする
vi /usr/lib/ruby/1.8/i686-darwin8.8.4/rbconfig.rb
CONFIG["CFLAGS"] = "-arch ppc -g -O2 -pipe -fno-common"
CONFIG["DLDFLAGS"] = "-arch ppc"
macsv1:/usr/src/ruby-oci8-0.1.16 root# ruby setup.rb config -- --with-instant-client=/usr/local/oracle/instantclient10_1
OK
4.dittoコマンドで、ppc バイナリのrubyを作る
参考サイト1)Tissot Blogs →超重要
参考サイト2)Universal Binary Programming Guidelines, Second Edition: アプリケーションの強制翻訳実行 →超重要
macsv1:/usr/local/bin root# ditto -arch ppc /usr/bin/ruby ruby_pcc
macsv1:/usr/local/bin root# ruby_pcc -r oci8 -e "OCI8.new('macs', 'system', '//192.168.240.110:1521/orcl').exec('select count(*) from im01rc') do |r| puts r.join(','); end"
177729.0
これでOCIも動くようになった。Railsで動かすにはどうすれば良いか??
1.このIntelMacには、Universalbinary でRubyをインストールする。
macsv1:/usr/local/bin root# file ruby
ruby: Mach-O universal binary with 2 architectures
ruby (for architecture ppc): Mach-O executable ppc
ruby (for architecture i386): Mach-O executable i386
Makefile にCFLAGS="-arch ppc -archi386"を追加する
2.rubyGem、Railsは Universalbinary の状態でインストールする
3.oracleinstantClientが、ppcバイナリ対応なので、ruby/ociは、rbconfig.rb
を修正してppcに見せかけてコンパイルする
vi /usr/lib/ruby/1.8/i686-darwin8.8.4/rbconfig.rb
CONFIG["CFLAGS"] = "-arch ppc -g -O2 -pipe -fno-common"
CONFIG["DLDFLAGS"] = "-arch ppc"
macsv1:/usr/src/ruby-oci8-0.1.16 root# ruby setup.rb config -- --with-instant-client=/usr/local/oracle/instantclient10_1
OK
4.dittoコマンドで、ppc バイナリのrubyを作る
参考サイト1)Tissot Blogs →超重要
参考サイト2)Universal Binary Programming Guidelines, Second Edition: アプリケーションの強制翻訳実行 →超重要
macsv1:/usr/local/bin root# ditto -arch ppc /usr/bin/ruby ruby_pcc
macsv1:/usr/local/bin root# ruby_pcc -r oci8 -e "OCI8.new('macs', 'system', '//192.168.240.110:1521/orcl').exec('select count(*) from im01rc') do |r| puts r.join(','); end"
177729.0
これでOCIも動くようになった。Railsで動かすにはどうすれば良いか??