12

I Just updated to OS X Lion, and now when I run bundle update and bundle install, they both fail for different reasons.

Bundle Install gives me this error:

Using friendly_id (3.2.1.1) 
Installing json (1.5.3) with native extensions /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb 
checking for re.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
    --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=/.rvm/rubies/ruby-1.9.2-p0/bin/ruby
/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:834:in `block in have_header'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/mkmf.rb:833:in `have_header'
    from extconf.rb:14:in `<main>'


Gem files will remain installed in /.rvm/gems/ruby-1.9.2-p0/gems/json-1.5.3 for inspection.
Results logged to /.rvm/gems/ruby-1.9.2-p0/gems/json-1.5.3/ext/json/ext/parser/gem_make.out
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'
    from /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/source.rb:95:in `install'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/installer.rb:55:in `block in run'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `block in each'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/installer.rb:44:in `run'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/installer.rb:8:in `install'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in `install'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `run'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in `dispatch'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in `start'
    from /.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/bin/bundle:13:in `<top (required)>'
    from /.rvm/gems/ruby-1.9.2-p0/bin/bundle:19:in `load'
    from /.rvm/gems/ruby-1.9.2-p0/bin/bundle:19:in `<main>'

Bundle Update gives me this error:

Installing sqlite3 (1.3.4) with native extensions /.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)

/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb 
checking for sqlite3.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.

This is my Gemfile:

source 'http://rubygems.org'

gem 'rails'
gem 'rake', '~> 0.8.7'

gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'will_paginate', '3.0.pre2'

gem 'paperclip', :git => 'git://github.com/thoughtbot/paperclip.git'
gem 'mime-types', :require => 'mime/types'

gem 'rails3-generators'

gem 'devise',  '~> 1.1.3'
gem 'devise_invitable', '~> 0.3.4'

gem 'declarative_authorization', :git => 'git://github.com/stffn/declarative_authorization.git'

gem 'aasm'
gem 'braintree'
gem 'stripe'

#For voting
gem 'thumbs_up'

# For In-Place-Editing
gem 'best_in_place'

#For slugs for the plans
gem "friendly_id", "~> 3.2"

gem 'aws-s3'

group :development do
    # Server
    gem 'thin'
    #gem 'rspec-rails', '2.0.1'
    gem 'annotate-models', '1.0.4'
    #gem 'rails-erd'
    gem 'annotate'
    gem 'faker', '0.3.1'
    gem 'ruby_parser'
end

This is my Gemfile.lock

GIT
  remote: git://github.com/stffn/declarative_authorization.git
  revision: 792b1558dd79c5305dadade72e9eb458073de190
  specs:
    declarative_authorization (0.5.3)

GIT
  remote: git://github.com/thoughtbot/paperclip.git
  revision: cbba34c2b9abb112bb9bae269edb2c8ab01adf51
  specs:
    paperclip (2.3.10)
      activerecord (>= 2.3.0)
      activesupport (>= 2.3.2)
      cocaine (>= 0.0.2)

GEM
  remote: http://rubygems.org/
  specs:
    aasm (2.2.0)
    abstract (1.0.0)
    actionmailer (3.0.8)
      actionpack (= 3.0.8)
      mail (~> 2.2.19)
    actionpack (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
      builder (~> 2.1.2)
      erubis (~> 2.6.6)
      i18n (~> 0.5.0)
      rack (~> 1.2.1)
      rack-mount (~> 0.6.14)
      rack-test (~> 0.5.7)
      tzinfo (~> 0.3.23)
    activemodel (3.0.8)
      activesupport (= 3.0.8)
      builder (~> 2.1.2)
      i18n (~> 0.5.0)
    activerecord (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
      arel (~> 2.0.10)
      tzinfo (~> 0.3.23)
    activeresource (3.0.8)
      activemodel (= 3.0.8)
      activesupport (= 3.0.8)
    activesupport (3.0.8)
    annotate (2.4.0)
    annotate-models (1.0.4)
    arel (2.0.10)
    aws-s3 (0.6.2)
      builder
      mime-types
      xml-simple
    babosa (0.3.5)
    bcrypt-ruby (2.1.4)
    bcrypt-ruby (2.1.4-x86-mingw32)
    best_in_place (0.1.9)
      rails (~> 3.0.0)
    braintree (2.10.1)
      builder (>= 2.0.0)
    builder (2.1.2)
    cocaine (0.1.0)
    daemons (1.1.3)
    devise (1.1.9)
      bcrypt-ruby (~> 2.1.2)
      warden (~> 1.0.2)
    devise_invitable (0.3.7)
      devise (~> 1.1.0)
    erubis (2.6.6)
      abstract (>= 1.0.0)
    eventmachine (0.12.10)
    faker (0.3.1)
    friendly_id (3.2.1.1)
      babosa (~> 0.3.0)
    i18n (0.5.0)
    json (1.5.3)
    mail (2.2.19)
      activesupport (>= 2.3.6)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.16)
    polyglot (0.3.1)
    rack (1.2.3)
    rack-mount (0.6.14)
      rack (>= 1.0.0)
    rack-test (0.5.7)
      rack (>= 1.0)
    rails (3.0.8)
      actionmailer (= 3.0.8)
      actionpack (= 3.0.8)
      activerecord (= 3.0.8)
      activeresource (= 3.0.8)
      activesupport (= 3.0.8)
      bundler (~> 1.0)
      railties (= 3.0.8)
    rails3-generators (0.17.4)
      railties (>= 3.0.0)
    railties (3.0.8)
      actionpack (= 3.0.8)
      activesupport (= 3.0.8)
      rake (>= 0.8.7)
      thor (~> 0.14.4)
    rake (0.8.7)
    rest-client (1.6.1)
      mime-types (>= 1.16)
    ruby_parser (2.0.6)
      sexp_processor (~> 3.0)
    sexp_processor (3.0.5)
    sqlite3 (1.3.3)
    sqlite3 (1.3.3-x86-mingw32)
    sqlite3-ruby (1.3.3)
      sqlite3 (>= 1.3.3)
    stripe (1.5.3)
      json
      rest-client
    thin (1.2.11)
      daemons (>= 1.0.9)
      eventmachine (>= 0.12.6)
      rack (>= 1.0.0)
    thin (1.2.11-x86-mingw32)
      daemons (>= 1.0.9)
      eventmachine (>= 0.12.6)
      rack (>= 1.0.0)
    thor (0.14.6)
    thumbs_up (0.4.1)
    treetop (1.4.9)
      polyglot (>= 0.3.1)
    tzinfo (0.3.27)
    warden (1.0.4)
      rack (>= 1.0)
    will_paginate (3.0.pre2)
    xml-simple (1.0.16)

PLATFORMS
  ruby
  x86-mingw32

DEPENDENCIES
  aasm
  annotate
  annotate-models (= 1.0.4)
  aws-s3
  best_in_place
  braintree
  declarative_authorization!
  devise (~> 1.1.3)
  devise_invitable (~> 0.3.4)
  faker (= 0.3.1)
  friendly_id (~> 3.2)
  mime-types
  paperclip!
  rails
  rails3-generators
  rake (~> 0.8.7)
  ruby_parser
  sqlite3-ruby
  stripe
  thin
  thumbs_up
  will_paginate (= 3.0.pre2)

Running ruby 1.9.2p0

Lemme know if you need anything else.

marcamillion
  • 32,933
  • 55
  • 189
  • 380

4 Answers4

23

Make sure to install XCode. Install it from the App Store, but also run "Install Xcode" from the Applications folder.

Andy Lindeman
  • 12,087
  • 4
  • 35
  • 36
  • 1
    This looks like it could be winner, winner chicken dinner. I dloaded it from the App Store, but didn't run 'Install Xcode'. Doing it now. If it works, you sir...shall be rewarded :) – marcamillion Aug 04 '11 at 02:31
  • 4
    After upgrading to Lion, in addition to re-installing XCode, I had to open it, go into Preferences > Downloads and click "Install" next to "Command Line Tools". Even then, `make` failed when I tried to install `bcrypt`, giving me `make: /usr/bin/gcc-4.2: No such file or directory`. I was starting to wish for a Linux box. Finally, I got it working with this: https://github.com/kennethreitz/osx-gcc-installer – Nathan Long May 31 '12 at 12:57
  • 4
    I had the same problem as Nathan: `/usr/bin/gcc-4.2: No such file or directory`. But I already had Xcode and the developer tools. I checked `/usr/bin` and I had `gcc` that was a symbolic link towards `llvm-gcc-4.2`. So I just created a new symbolic link from `gcc-4.2` to `llvm-gcc-4.2`: from `/usr/bin/`, type `$ sudo ln -s llvm-gcc-4.2 gcc-4.2` and `bundler` and `gem install` were happy. – Timothée Boucher Jul 29 '12 at 07:31
  • On Mac OS X 10.8, XCode installs to `/Applications/` instead of the old location (`/Developer/Applications/`), so make sure you open the right XCode as it doesn't uninstall the old one until you open the new one. – cgenco Aug 24 '12 at 00:58
  • I did **not** have the same problem as @NathanLong (my problem was `nokogiri` failing to install (specifically, `Gem::Installer::ExtensionBuildError`). I also got the message `The complier failed to generate an executable file` and `You have to install development tools first`, yet I already had installed `Xcode` and the `Command Line Tools`. I overcame this issue by following the advise of @TimothéeBoucher `cd /usr/bin` and `sudo ln -s llvm-gcc-4.2 gcc-4.2`. I am on Mountain Lion `10.8.2`. – user664833 Oct 17 '12 at 20:39
7

I had this problem, but XCode was installed. Turned out that I installed ruby-2.0.0 before XCode (it was a new laptop I was getting up to speed). Doing a:

rvm reinstall 2.0.0

Solved the problem for me.

Ryan Angilly
  • 1,589
  • 16
  • 18
3

I had a similar error because I hadn't accepted the Xcode terms of service from the latest download.

sudo gcc --version

And then accept the agreement.

craigq
  • 692
  • 6
  • 7
0

If you have homebrew installed, you can also just run 'brew install mysql' and this will install mysql and the dependencies required to compile the native gem.

mikepence
  • 41
  • 3