I added unicorn to my Gemfile and after that when i do a bundle install I get this error
em::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/adim86/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
checking for CLOCK_MONOTONIC in time.h... *** 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
--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/adim86/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:491:in `block in try_compile'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:443:in `with_werror'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:491:in `try_compile'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:686:in `macro_defined?'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:822:in `block in have_macro'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
from /Users/adim86/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/mkmf.rb:821:in `have_macro'
from extconf.rb:5:in `<main>'
Gem files will remain installed in /Users/adim86/.rvm/gems/ruby-1.9.3-p0/gems/kgio-2.7.4 for inspection.
Results logged to /Users/adim86/.rvm/gems/ruby-1.9.3-p0/gems/kgio-2.7.4/ext/kgio/gem_make.out
An error occured while installing kgio (2.7.4), and Bundler cannot continue.
Make sure that `gem install kgio -v '2.7.4'` succeeds before bundling
My gem file looks like this. I have tried adding unicorn to a production block but i still get the same error. I have also removed unicorn and i still get the same error also tried a bundle update to no avail:
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'devise'
gem 'haml-rails'
gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'twitter'
gem 'fb_graph'
gem 'json'
gem 'json_pure'
gem 'simple_form'
gem 'postmark'
gem 'postmark-rails'
gem 'bootstrap-datepicker-rails'
gem 'watu_table_builder', :require => 'table_builder'
gem 'sqlite3'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'uglifier', '>= 1.0.3'
end
gem "therubyracer", :require => 'v8'
gem 'jquery-rails'
gem 'differ'
gem 'whenever'
gem 'unicorn'
can anyone help?
The problem was Xcode. Go to Xcode settings -> Downloads and make sure you have the "Command Line Tools" installed. Once I installed them, the bundle install
ran just fine.
Unicorn, is designed to take advantage of features found in Unix-like systems.
In other words, they won't work on Windows
I've had this problem recently. In my case it was because for some unknown reason the environment variable for CC (which is a shim to Apple's LLVM compiler) was not being set. Typing:
$ export CC=cc
in the Terminal before doing the bundle install
worked for me.
To make the change permanent you can add export CC=cc
to your .bash_profile file.
If you do the latter, make sure you type:
$ source ~/.bash_profile
(or open a new Terminal window) before doing the bundle install
.
this might require newer patchlevel of ruby - like p194
- install it:
rvm install 1.9.3-p194
and try again with it.
You should always use the latest patchlevel available, RVM allows to do that with:
rvm get stable
rvm use 1.9.3 --install
I used rvm use system
to install the gems. The price of living on the edge with ruby?
来源:https://stackoverflow.com/questions/12380802/i-am-getting-this-gem-install-error-for-kgio-gem-when-i-do-a-bundle-install