Post date: 2013/03/19 1:59:09
私の場合、32bit版のruby で、gem install chefしたところ、実行時に以下のエラーが発生:
/home/anagix/anagix_tools/lib/ruby/gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/yajl.so: wrong ELF class: ELFCL\
ASS64 - /home/anagix/anagix_tools/lib/ruby/gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/yajl.so
/home/anagix/anagix_tools/lib/ruby/gems/1.8/gems/yajl-ruby-1.1.0/lib/yajl/yajl.so
これは、yajl.soが64bitにコンパイルされたのが原因。対策は、上記のサイトの通り、
# yum install glibc-devel.i386
$ env CONFIGURE_ARGS="--with-cflags='-m32' --with-ldflags='-m32'" gem install chef --no-ri --no-rdoc
これまでは、32bit OS上で、gem をnative installし、コピーしていたから問題が顕在化しなかった!