0

I'm having issues installing Rails 4 with rvm. I saw another solution with removing rvm from my system, but that is not an option because I need isolated gemsets. This is my terminal:

    Edmunds-MacBook-Pro:pipetask edmundmai$ rvm current
    ruby-2.0.0-p247@pipetask
    Edmunds-MacBook-Pro:pipetask edmundmai$ ls
    Gemfile     README.rdoc app     config      db      lib     public
    Gemfile.lock    Rakefile    bin     config.ru   gcc-4.2     log     vendor
    Edmunds-MacBook-Pro:pipetask edmundmai$ gem install rails -v=4.0.0
    Building native extensions.  This could take a while...
    ERROR:  Error installing rails:
        ERROR: Failed to build gem native extension.

        /Users/edmundmai/.rvm/rubies/ruby-2.0.0-p247/bin/ruby extconf.rb
    *** 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/edmundmai/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
        --with-atomic_reference-dir
        --without-atomic_reference-dir
        --with-atomic_reference-include
        --without-atomic_reference-include=${atomic_reference-dir}/include
        --with-atomic_reference-lib
        --without-atomic_reference-lib=${atomic_reference-dir}/
    /Users/edmundmai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:434:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
    You have to install development tools first.
        from /Users/edmundmai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:519:in `try_link0'
        from /Users/edmundmai/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:817:in `try_run'
        from extconf.rb:26:in `<main>'


    Gem files will remain installed in /Users/edmundmai/.rvm/gems/ruby-2.0.0-p247@pipetask/gems/atomic-1.1.14 for inspection.
    Results logged to /Users/edmundmai/.rvm/gems/ruby-2.0.0-p247@pipetask/gems/atomic-1.1.14/ext/gem_make.out
    Edmunds-MacBook-Pro:pipetask edmundmai$ 

How would I debug this? I don't even know which mkmf.log it is talking about, I have like 50 of them when I do locate mkmf.log. What is development tools? I have xcode 5 and command line tools.

==Update

This might be the mkmf.log file it was referring to?

    Edmunds-MacBook-Pro:bin edmundmai$ more /Users/emai/mkmf.log
    have_func: checking for rb_hash_foreach()... -------------------- yes

    "clang -o conftest -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/x86_64-darwin11.4.2 -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/backward -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/Users/emai/.rvm/usr/include -I/Users/emai/.rvm/usr/include    -O3 -g3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -pipe conftest.c  -L. -L/Users/emai/.rvm/rubies/ruby-2.0.0-p0/lib -L/Users/emai/.rvm/usr/lib -L. -fstack-protector -L/Users/emai/.rvm/usr/lib -L/Users/emai/.rvm/usr/lib      -lruby-static  -lpthread -ldl -lobjc "
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: int main(void) {return 0;}
    /* end */

    "clang -o conftest -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/x86_64-darwin11.4.2 -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0/ruby/backward -I/Users/emai/.rvm/rubies/ruby-2.0.0-p0/include/ruby-2.0.0 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/Users/emai/.rvm/usr/include -I/Users/emai/.rvm/usr/include    -O3 -g3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-function-declaration  -pipe conftest.c  -L. -L/Users/emai/.rvm/rubies/ruby-2.0.0-p0/lib -L/Users/emai/.rvm/usr/lib -L. -fstack-protector -L/Users/emai/.rvm/usr/lib -L/Users/emai/.rvm/usr/lib      -lruby-static  -lpthread -ldl -lobjc "
    checked program was:
    /* begin */
    1: #include "ruby.h"
    2: 
    3: /*top*/
    4: int main(void) {return 0;}
    5: extern int t(void);
    6: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_hash_foreach; return 0; }
    /* end */

    --------------------
bigpotato
  • 26,262
  • 56
  • 178
  • 334

0 Answers0