Ruby1.9 on NetBSD
コンパイルしようとしていて、
making ruby gcc -g -O2 -pipe -Wl,-export-dynamic -L. main.o -lruby-static -lcrypt -lm -oruby ./libruby-static.a(process.o): In function `p_sys_setruid': /home/naruse/test/ruby/process.c:1997: warning: this program uses setruid(), which is deprecated. ./libruby-static.a(process.o): In function `p_sys_setrgid': /home/naruse/test/ruby/process.c:2341: warning: this program uses setrgid(), which is deprecated.
setruidやsetugidは使っちゃダメって怒られた。
Index: process.c =================================================================== RCS file: /var/cvs/src/ruby/process.c,v retrieving revision 1.115 diff -r1.115 process.c 96a97,101 > #ifdef __NetBSD__ > #undef HAVE_SETRUID > #undef HAVE_SETRGID > #endif >
したら動くようになったよ。
やたーっ
って、動きはしたんだけれど、make installしたら、
Generating RI... a/usr/home/naruse/ruby/lib/rdoc/ri/ri_writer.rb:51: warning: setvbuf() can't be honoured for /usr/local/share/ri/1.9/system/IO/readlines-i.yaml /usr/home/naruse/ruby/lib/rdoc/ri/ri_writer.rb:51: warning: setvbuf() can't be honoured for /usr/local/share/ri/1.9/system/IO/rewind-i.yaml /usr/home/naruse/ruby/lib/yaml/baseemitter.rb:135:in `gsub': failed to allocate memory (NoMemoryError) from /usr/home/naruse/ruby/lib/yaml/baseemitter.rb:135:in `fold' from /usr/home/naruse/ruby/lib/yaml/baseemitter.rb:67:in `node_text' from /usr/home/naruse/ruby/lib/yaml/rubytypes.rb:329:in `to_yaml' from /usr/home/naruse/ruby/lib/yaml/rubytypes.rb:307:in `call' from /usr/home/naruse/ruby/lib/yaml.rb:373:in `quick_emit' from /usr/home/naruse/ruby/lib/yaml/rubytypes.rb:307:in `to_yaml' from /usr/home/naruse/ruby/lib/yaml/baseemitter.rb:181:in `map' from /usr/home/naruse/ruby/lib/yaml/baseemitter.rb:170:in `each' ... 29 levels... from /usr/home/naruse/ruby/lib/rdoc/generators/ri_generator.rb:84:in `each' from /usr/home/naruse/ruby/lib/rdoc/generators/ri_generator.rb:84:in `generate' from /usr/home/naruse/ruby/lib/rdoc/rdoc.rb:269:in `document' from ./bin/rdoc:63 って言われたよ、、むぅ。 今までは単体でnkfのテストをしていたけれど、 さすがにコミットするには全体テストしたいからなぁ・・・。 どうしたものか。 散々当り散らして、不貞寝した挙句、やっと思い切ってRDocをインストールしないようにしたら、 とりあえずインストールできるようになった。 ふぇ。 今日の教訓: ruby-1.6.8は忘れず消そう。 追記: これは、メモリが足りない&RDocメモリ喰いすぎ、が原因らしい そうそう、Ruby1.9はbison必須なので、その辺も注意。