問題の概要
2020年8月現在、puma
や fluentd
に使われている cool.io
のインストールに失敗することがある。
current directory: /Users/example/src/nature-server/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/ext/cool.io
make "DESTDIR=" clean
current directory: /Users/example/src/nature-server/vendor/bundle/ruby/2.6.0/gems/cool.io-1.6.0/ext/cool.io
make "DESTDIR="
compiling cool.io_ext.c
In file included from cool.io_ext.c:11:
In file included from ./cool.io.h:11:
/Users/example/.rbenv/versions/2.6.6/include/ruby-2.6.0/ruby/backward/rubyio.h:2:2: warning: use "ruby/io.h" instead of "rubyio.h" [-W#warnings]
#warning use "ruby/io.h" instead of "rubyio.h"
....
解決方法
--with-cflags="-Wno-error=implicit-function-declaration"
を設定してあげることで解決する。
参考Issue:)ctype.h missing from puma_http11.c
bundleの場合は下記:
bundle config --local build.cool.io --with-cflags="-Wno-error=implicit-function-declaration"
bundle config --local build.puma --with-cflags="-Wno-error=implicit-function-declaration"
gemを直接インストールする場合は下記:
gem install fluentd -- --with-cflags="-Wno-error=implicit-function-declaration"
gem install puma -- --with-cflags="-Wno-error=implicit-function-declaration"