Tanvir Hasan Anick
Tanvir Hasan Anick

Reputation: 430

An error occurred while installing puma (2.11.1), and Bundler cannot continue

After running bundle install --path vendor it's showing following error. I'm using macOS Sierra. This problem occurred after update homebrew. I've uninstalled currently installed puma from my gem list. But the same problem occurred here.

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /Users/tanvirhasan/.rbenv/versions/2.2.0/bin/ruby -r ./siteconf20161114-22170-lrj70g.rb extconf.rb
checking for BIO_read() in -lcrypto... yes
checking for SSL_CTX_new() in -lssl... yes
creating Makefile

make "DESTDIR=" clean

make "DESTDIR="
compiling http11_parser.c
compiling io_buffer.c
io_buffer.c:119:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
  return rb_str_new(b->top, b->cur - b->top);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:796:20: note: expanded from macro 'rb_str_new'
        rb_str_new_static((str), (len)) : \
                          ^~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:727:37: note: passing argument to parameter here
VALUE rb_str_new_static(const char *, long);
                                    ^
io_buffer.c:119:10: warning: passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
  return rb_str_new(b->top, b->cur - b->top);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:797:13: note: expanded from macro 'rb_str_new'
        rb_str_new((str), (len));         \
                   ^~~~~
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.0/ruby/intern.h:706:29: note: passing argument to parameter here
VALUE rb_str_new(const char*, long);
                            ^
2 warnings generated.
compiling mini_ssl.c
In file included from mini_ssl.c:3:
/Users/tanvirhasan/.rbenv/versions/2.2.0/include/ruby-2.2.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"
 ^
mini_ssl.c:4:10: fatal error: 'openssl/bio.h' file not found
#include <openssl/bio.h>
         ^
1 warning and 1 error generated.
make: *** [mini_ssl.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/tanvirhasan/Git/Nascenia/cribber-web/vendor/ruby/2.2.0/gems/puma-2.11.1 for inspection.
Results logged to /Users/tanvirhasan/Git/Nascenia/cribber-web/vendor/ruby/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/puma-2.11.1/gem_make.out

Upvotes: 2

Views: 3148

Answers (1)

MarsAtomic
MarsAtomic

Reputation: 10673

You updated homebrew, but you probably didn't update XCode. Pull up an instance of Terminal and run:

brew doctor

Homebrew will probably warn you about one or more libraries that need to be updated, including XCode.

Run:

xcode-select --install

Make sure you accept the license for the new version of XCode by running:

sudo xcodebuild -license

Upvotes: 1

Related Questions