たぶんdebian/ubuntu特有のWarning
/usr/lib/ruby/1.8/xmlsimple.rb:275: warning: already initialized constant KNOWN_OPTIONS /usr/lib/ruby/1.8/xmlsimple.rb:280: warning: already initialized constant DEF_KEY_ATTRIBUTES /usr/lib/ruby/1.8/xmlsimple.rb:281: warning: already initialized constant DEF_ROOT_NAME /usr/lib/ruby/1.8/xmlsimple.rb:282: warning: already initialized constant DEF_CONTENT_KEY /usr/lib/ruby/1.8/xmlsimple.rb:283: warning: already initialized constant DEF_XML_DECLARATION /usr/lib/ruby/1.8/xmlsimple.rb:284: warning: already initialized constant DEF_ANONYMOUS_TAG /usr/lib/ruby/1.8/xmlsimple.rb:285: warning: already initialized constant DEF_FORCE_ARRAY /usr/lib/ruby/1.8/xmlsimple.rb:286: warning: already initialized constant DEF_INDENTATION /usr/lib/ruby/1.8/xmlsimple.rb:287: warning: already initialized constant DEF_KEY_TO_SYMBOL
xmlsimpleが、自分自身require を内部的に行うが、rubyのインクルードパスが衝突して2重ロードになっていた。うざい。
対応 余分なxmlsimple.rb を消す
重複してそうなファイルを移動させた。
takuya@colinux:$ sudo mv /usr/lib/ruby/1.8/lib/xmlsimple.rb /usr/lib/ruby/1.8/lib/xmlsimple.rb.bak
エラーでなくなった。どこが余分か調べる。
/usr/lib/ruby/1.8/lib/xmlsimple.rb
1 require File.dirname(__FILE__) + '/../xmlsimple.rb'
/usr/lib/ruby/1.8/xmlsimple.rb
1 # = XmlSimple 2 # 3 # Author:: Maik Schmidt <contact@maik-schmidt.de> 4 # Copyright:: Copyright (c) 2003-2006 Maik Schmidt 5 # License:: Distributes under the same terms as Ruby. 6 # 7 require 'rexml/document' 8 require 'stringio' 9 10 # Easy API to maintain XML (especially configuration files). 11 class XmlSimple 12 include REXML 13 14 @@VERSION = '1.0.11' 15