Ruby

Gemfileを無視してgem installしたコマンドを使う

cocoapodsが homebrew版は動かず Gemfileに記述した版は ffi がコンフリクトして bundle installできず 普通に gem install した版は動くのでこれを使いたい ことから調べた。要はプロジェクトの Gemfile を無視してグローバルに gem install したコマンドを…

sakuraVPSにrubyを入れたらnet/httpsが使えなかった件

もちろん $ sudo yum install openssl-devel済みです。 が、/usr/lib64/pkgconfig/ に問題があって $ pkg-config --libs libssl -Wl,-z,relro -L/usr/lib6464 -lssl -lcrypto -ldl -lzlib6464 って何よ…(´・ω・`)libssl.pc, libcrypto.pc, openssl.pc が libdi…

ap4rプロセスが停止しない件について

ap4rプロセスが停止してくれない時があるのですが、原因は多分これですね。 http://redmine.ruby-lang.org/issues/show/3674以下、ruby-1.8.6-p420向けのパッチ。上記記事(Ruby1.9向け)の再編です。 --- lib/drb/drb-p420.rb 2010-11-01 15:09:36.138190005 …

Ruby-1.8.6系のSIGVTALRMバグ

1.8.7系では修正されているのですが、1.8.6系ではp420を含めてバックポートされていないようです。こんなの Virtual timer expired以下は1.8.7系での修正を1.8.6系へ移植したものです。 diff -Naur ruby-1.8.6-p420//eval.c ruby-1.8.6-p420-SIGVTALRM//eval…

Ruby-1.9でutility_belt そのにっ

gem にしました。 http://github.com/suzumura-ss/utility_belt_r19 http://github.com/suzumura-ss/utility_belt_r19/blob/master/pkg/utility_belt_r19-0.0.1.gem さて、gemcutterに登録するにはどうするんだろう(´・ω・`) ※追記登録できました\(゚∀゚)/ $ g…

Ruby-1.9でutility_belt

かなり便利な gem utility_belt ですが、Ruby1.9系で使えません。(utility_belt-1.1.0) $ irb -r utility_belt /usr/local/lib/ruby/gems/1.9.1/gems/utility_belt-1.1.0/lib/utility_belt.rb:16: in `block in <top (required)>': wrong number of arguments (1 for 0) (Arg</top>…

Ubuntu10.04/i686でRuby1.9.1p429がビルドできない件について

make 途中で minruby が Segmentation fault で落ちてしまうというもの。 ./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/generic_erb.rb -c -o encdb.h ./template/encdb.h.tmpl ./enc enc /home/suzumura/ruby-1.9.1-p429/lib/optpars…

Ruby GServer を叩いてみる

GServer自体は簡単で良い物なんだけど、多少気になる挙動があるのでメモ。 echos.rb #!/usr/bin/env ruby require 'gserver' class EchoServer < GServer def self.start s = self.new(10001, '0.0.0.0', 1000) trap(:INT) { s.stop } s.start s end def ini…

Ruby拡張ライブラリを書いてみる。その2

前回をふまえて、もう少し複雑な拡張ライブラリを書いてみます。対象を「値 v と場所(Peer) p を記憶して、値 v が格納されている場所 p の配列を返すデータベース」としてみます。 typedef std::vector<int> IntArray; class Cache { Cache(); virtual Cache(); </int>…

Ruby拡張ライブラリを書いてみる。

rubyソースのdir.cを見ながら書いてみた。 インスタンスにCデータを保存する(今回はint)。 そのデータを元に obj.step(2) {|v| ... } させる。 簡単過ぎ。ドキュメントが無いのが悔やまれるが言わないのが約束というものなんでしょう。 sample.cpp #include …

RubyInlineでSunRPCをたたいてみる

RubyコードにCコードを直接埋め込む RubyInline。 これを使って SunRPC サーバーを叩いてみました。使用する RPCサーバーはこれ。 sample.x struct samplearg { int a; int b; }; struct sample { int sum; int diff; }; program SAMPLEPROG { version SAMPL…

CentOS 5.3 / x86_64 で Rabbit

64bit環境固有らしき「R_X86_64_32」問題。 /usr/bin/ld: rbatkhypertext.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC rbatkhypertext.o: could not read symbols: Bad value c…

ruby-gtk2-0.19.1 がビルドできない

CentOS 5.3 x86_64 上で挑戦中。 fontconfig-2.7.1 jasper-1.900.1 pixman-0.15.20 cairo-1.8.8 glib-2.20.4 poppler-0.10.7, poppler-data-0.2.1 atk-1.26.0 pango-1.24.5 gtk+-2.16.5 を入れたところで [ruby-gtk2-0.19.1] $ ruby extconf.rb : - Target l…

Rabbit : 32bitでは動きました

CentOS 5.3 x86 では動作できました。Ubuntuの時は依存関係を読まずに入れてしまいましたが、今回は多少考えつつ。 ruby-gtk2-0.19.1 GTK+-2.16.5 glib-2.20.4 atk-1.26.0 cairo-1.8.8 pixman-0.15.20 poppler-0.10.7 pango-1.24.5 fontconfig-2.7.1 jasper-…

Rabbitを動かす

あの「うさぎと亀」を使いたくて、暫く前から http://www.cozmixng.org/~rwiki/?cmd=view;name=Rabbit をインストールしようとしていたのですが・・・CentOSではどうにも判らず、まずはVMでUbuntuを立ててそこに入れてみました。 初 Debian ですよ。 いろい…