title: Developer tools issues when installing Ruby gems
body: <p>I am trying to install puma onto my MacOS 10.13.6. To install puma, I run the command <code>gem install puma</code> but it returned</p>
  
  <pre><code>Building native extensions. This could take a while...
      ERROR:  Error installing puma:
          ERROR: Failed to build gem native extension.
  
     current directory: /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/puma-3.12.0/ext/puma_http11
      /Users/salem/.rbenv/versions/2.5.1/bin/ruby -r ./siteconf20180801-14654-17z0n88.rb extconf.rb
      checking for BIO_read() in -lcrypto... *** extconf.rb failed ***
      Could not create Makefile due to some reason, probably lack of necessary
      libraries and/or headers.  Check the mkmf.log file for more details.  You may
      need configuration options.
  
      Provided configuration options:
          --with-opt-dir
          --without-opt-dir
          --with-opt-include
          --without-opt-include=${opt-dir}/include
          --with-opt-lib
          --without-opt-lib=${opt-dir}/lib
          --with-make-prog
          --without-make-prog
          --srcdir=.
          --curdir
          --ruby=/Users/salem/.rbenv/versions/2.5.1/bin/$(RUBY_BASE_NAME)
          --with-puma_http11-dir
          --without-puma_http11-dir
          --with-puma_http11-include
          --without-puma_http11-include=${puma_http11-dir}/include
          --with-puma_http11-lib
          --without-puma_http11-lib=${puma_http11-dir}/lib
          --with-openssl-dir
          --with-openssl-include
          --without-openssl-include=${openssl-dir}/include
          --with-openssl-lib
          --without-openssl-lib=${openssl-dir}/lib
          --with-cryptolib
          --without-cryptolib
      /Users/salem/.rbenv/versions/2.5.1/lib/ruby/2.5.0/mkmf.rb:456:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
      You have to install development tools first.
          from 
  
  
      ...
      ...
      To see why this extension failed to compile, please check the mkmf.log which can be found here:
  
        /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/puma-3.12.0/mkmf.log
  
      extconf failed, exit code 1
  
  Gem files will remain installed in /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/puma-3.12.0 for inspection.
  Results logged to /Users/salem/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/extensions/x86_64-darwin-17/2.5.0-static/puma-3.12.0/gem_make.out`
  </code></pre>
  
  <p>The <code>_mkmf.log_</code> can be found below... </p>
  
  <pre><code>clang -o conftest -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0/x86_64-darwin17 -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0/ruby/backward -I/Users/salem/.rbenv/versions/2.5.1/include/ruby-2.5.0 -I. -I/usr/local/opt/openssl/include -I/Users/salem/.rbenv/versions/2.5.1/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe conftest.c  -L. -L/Users/salem/.rbenv/versions/2.5.1/lib -L/usr/local/opt/openssl/lib -L. -L/Users/salem/.rbenv/versions/2.5.1/lib  -fstack-protector -L/usr/local/lib     -lruby.2.5.1-static -framework Foundation  -lpthread -ldl -lobjc "
  error: unable to open output file '~/tmp/conftest-8ad96a.o': 'No such file or directory'
  1 error generated.
  checked program was:
  /* begin */
  1: #include "ruby.h"
  2: 
  3: int main(int argc, char **argv)
  4: {
  5:   return 0;
  6: }
  /* end */
  </code></pre>
  
  <p>Xcode is installed on my Mac. I ran xcode-select --install which confirmed that Xcode was already installed.</p>
  
  <p>I then thought it could be a permissions issue...</p>
  
  <pre><code>~ $ ls -lah tmp
  total 0
  drwxrwxrwx   3 salem  staff    96B Jul 30 08:35 .
  drwxr-xr-x+ 62 salem  staff   1.9K Aug  1 13:17 ..
  drwxr-xr-x   3 salem  staff    96B Jul 27 15:11 vmSWVyg
  </code></pre>
  
  <p>but it appears that it has the correct permissions set.</p>
  
  <p>This issue also arises when installing nokugiri</p>