chef-server インストール時に "extconf failure: need libm"

※ このエントリは、はてなグループ終了に伴う、サブブログからの引越エントリ(2010/09)です。
※ 情報が古い可能性もありますので、ご留意ください。



chef-server をインストールしようと思ったら、"extconf failure: need libm" で失敗したメモ。

ググっても出てこなかったので書いておく。環境は CentOS 5.4。

# gem install chef-server
Building native extensions.  This could take a while...
ERROR:  Error installing chef-server:
        ERROR: Failed to build gem native extension.

/usr/bin/ruby extconf.rb
checking for socket() in -lsocket... no
checking for gethostbyname() in -lnsl... no
checking for atan() in -lm... no
checking for atan() in -lm... no
 extconf failure: need libm


Gem files will remain installed in /usr/lib64/ruby/gems/1.8/gems/libxml-ruby-1.1.4 for inspection.
Results logged to /usr/lib64/ruby/gems/1.8/gems/libxml-ruby-1.1.4/ext/libxml/gem_make.out

"extconf failure: need libm" とのことだが、libm.a とか libm.so は存在していて、ライブラリとして認識されているはず。

mkmf.logを確認

ということで、mkmf.logを見てみることにした。

今回の場合は "/usr/lib64/ruby/gems/1.8/gems/libxml-ruby-1.1.4/ext/libxml/mkmf.log" の場所。

~~~省略~~~

/usr/bin/ld: cannot find -lruby-static
collect2: ld はステータス 1 で終了しました

~~~省略~~~

最初から、こいつも一緒にエラー出力してほすぃ。
というわけで、以下のように "ruby-static" をインストールした後に、"gem install chef-server" を再実行することで chef-server のインストールは成功。

# yum install ruby-static