Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
/Users/yohei-yokota/.rbenv/versions/2.6.1/bin/ruby -I
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/2.6.0 -r
./siteconf20200920-91266-1229hke.rb extconf.rb
checking for BIO_read() in -lcrypto... yes
checking for SSL_CTX_new() in -lssl... yes
checking for openssl/bio.h... yes
checking for DTLS_method() in openssl/ssl.h... yes
checking for TLS_server_method() in openssl/ssl.h... yes
checking for SSL_CTX_set_min_proto_version in openssl/ssl.h... yes
creating Makefile
current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
make "DESTDIR=" clean
current directory:
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3/ext/puma_http11
make "DESTDIR="
compiling http11_parser.c
ext/puma_http11/http11_parser.c:44:18: warning: unused variable
'puma_parser_en_main' [-Wunused-const-variable]
static const int puma_parser_en_main = 1;
^
1 warning generated.
compiling io_buffer.c
compiling mini_ssl.c
mini_ssl.c:145:7: warning: unused variable 'min' [-Wunused-variable]
int min, ssl_options;
^
mini_ssl.c:299:40: warning: function 'raise_error' could be declared with
attribute 'noreturn' [-Wmissing-noreturn]
void raise_error(SSL* ssl, int result) {
^
2 warnings generated.
compiling puma_http11.c
puma_http11.c:203:22: error: implicitly declaring library function 'isspace'
with type 'int (int)' [-Werror,-Wimplicit-function-declaration]
while (vlen > 0 && isspace(value[vlen - 1])) vlen--;
^
puma_http11.c:203:22: note: include the header <ctype.h> or explicitly provide a
declaration for 'isspace'
1 error generated.
make: *** [puma_http11.o] Error 1
make failed, exit code 2
Gem files will remain installed in
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/puma-4.3.3
for inspection.
Results logged to
/Users/yohei-yokota/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/extensions/x86_64-darwin-19/2.6.0/puma-4.3.3/gem_make.out
An error occurred while installing puma (4.3.3), and Bundler cannot
continue.
Make sure that `gem install puma -v '4.3.3' --source 'https://rubygems.org/'`
succeeds before bundling.
In Gemfile:
puma
It does not occur in puma v4.2.1, but seems to occur in v4.3.0 or later.
I just executed the following command.
$ gem install puma:4.3.3 -- --with-cflags="-Wno-error=implicit-function-declaration"
https://github.com/puma/puma/issues/2342 https://github.com/puma/puma/issues/2304
Recommended Posts