I've just upgraded to osx mavericks, and I want to install ruby 2.0, but I'm getting configure: error: cannot run C compiled programs.
errors.
I update rvm with rvm get stable
and then type rvm install 2.0.0
and get an error directing me to a log file. The log file contains:
configure: WARNING: unrecognized options: --without-tcl, --without-tk
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/Users/mattroberts/.rvm/src/ruby-2.0.0-p247':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
So, I tried listing the versions I do have. It tells me i have 1.9.3-p392
so I uninstall that one and re-install to see if that works - same error.
Do I need to re-install / update xcode, or is there another solution?
Thanks!
If you haven't upgraded Xcode after upgrading to Mavericks you should do so
After that, open a command prompt and type:
xcode-select --install
This will install xcode command tools that have been deleted by OSX update.
After that it should work okay.
The suggested solutions did not solve my issue (XCode at newest version, command line tools installed). I used rvm install ruby-1.9.3 --with-gcc=clang
and that worked.
I thought rvm used to use clang for OSX by default. Not sure if I remember that wrong or something changed / this is no longer the best thing to do. Nevertheless it made the install work for me.
After Edu's comment, the github rvm issues page he referenced warns:
@marksands please be sure you know what you are duing, ruby 1.9.3
compiled with clang is not "safe", it can segfault, thread related
issues to be expected, consider reinstalling ruby --with-gcc=gcc42 or
just let rvm install gcc 4.6, only ruby 2.0.0 is fully compatible with
clang
This issue points out issue with gcc46 on Mavericks:
The gem in question uses different language - not C/C++, it uses
Objective-C - so it's not the compiler fault, you can build gcc-4.6
with support for Objective-C - it's just not done by default.
You have two options now, both start with uninstallig gcc-4.6 and
then:
• Install apple-gcc42
• Install gcc-4.6 with --enable-objc
this is supposed to be fixed, run:
rvm get head
rvm remove 1.9.3
rvm install 1.9.3
do not use extra flags
What ended up working for me was installing XCode then RUNNING Xcode then trying to reinstall.
Running
rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')
Corrected my compiler issue in Mavericks
Ran into the very same issue (on 10.8.5, all up to date). Ruby 2.0.0 installed fine, but not 1.9.3. This solution worked for me.
cd into the ruby path (found in config.log), then
issue .configure
(with all options, as found in config.log)
make
make install
Then:
rvm use 1.9.3 --create
Solution:
unset SDKROOT
This worked for me. I hope it would for you too.
I tried to reinstall xcode along with xcode developer tools. Didn’t work. The same error.
Try to run with env -i bash —noprofile —norc
to see whether your env vars are causing the issue to further investigate.