小松です。

Ruby 1.5.0で、rdtool-0.5.2とracc-0.9.5の組み合わせを使うと
rdtool-0.5.2の作成時に、

Wed Oct 13 02:17:05 1999  Yukihiro Matsumoto  <matz / netlab.co.jp>

	* hash.c (rb_hash_fetch): raises exception unless the default
	  value is supplied.

で引っかかりました。
添付のパッチのようにlibracc.rbのfetchにデフォルト値を追加して対処。

rdtool-0.5.2とracc-0.10.0の組み合わせは、rdtool-0.5.2/rd/*.ryの
class...rule...end...endをclass...rule...endにしただけで通るかと
思いましたが、README.htmlの生成で、

% make
/usr/local/bin/racc  rd/rdblockparser.ry
3 shift/reduce conflicts
/usr/local/bin/racc  rd/rdinlineparser.ry
/usr/local/bin/ruby -I. rd2 -r rd/rd2html-lib.rb README.rd > README.html
/usr/local/lib/ruby/1.5/site_ruby/racc/parser.rb:148:in `on_error':  (ParseError)
unexpected token '0', in state 0
	from /usr/local/lib/ruby/1.5/site_ruby/racc/parser.rb:138:in `_error_handler'
	from /usr/local/lib/ruby/1.5/site_ruby/racc/parser.rb:121:in `do_parse'
	from ./rd/rdblockparser.tab.rb:88:in `parse'
	from ./rd/rdfmt.rb:450:in `initialize'
	from rd2:21:in `new'
	from rd2:21
*** Error code 1
make: Fatal error: Command failed for target `README.html'
% 

と失敗してしまいます。こちらは調べてません。

--- racc-0.9.5.dist/libracc.rb Sun Oct 3 16:19:41 1999 +++ racc-0.9.5/libracc.rb Thu Nov 11 12:40:37 1999 @@ -1559,5 +1559,5 @@ ### for same value, Token exist only one - unless (ret = @tokens.fetch( val )) then + unless (ret = @tokens.fetch( val, nil )) then ret = Token.new( val ) @tokens.store( val, ret ) @@ -2176,5 +2176,5 @@ def each() @value.each{|t| yield t } end def size() @value.size end - def fetch( arg ) @value.fetch( arg ) end + def fetch( arg ) @value.fetch( arg, nil ) end def store( arg, val ) @value.store( arg, val ) end def delete( key ) @value.delete( key ) end -- 小松克行 / Katsuyuki Komatsu <komatsu / sarion.co.jp>