Reputation: 811
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?
Upvotes: 5
Views: 7256
Reputation: 2449
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
.
Upvotes: 2
Reputation: 2067
Unicorn, is designed to take advantage of features found in Unix-like systems.
In other words, they won't work on Windows
Upvotes: 3
Reputation: 5663
I used rvm use system
to install the gems. The price of living on the edge with ruby?
Upvotes: -2
Reputation: 9942
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.
Upvotes: 2
Reputation: 53158
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
Upvotes: 0