I am having problems installing the Ruby libv8 gem on OS X Mavericks(10.9.4), I get the following error:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-2.0.0-p451/bin/ruby extconf.rb
creating Makefile
/usr/local/rvm/gems/ruby-2.0.0-p451/gems/libv8-3.11.8.13/ext/libv8/compiler.rb:30: warning: Insecure world writable dir /usr/local/rvm/gems/ruby-2.0.0-p451/bin in PATH, mode 040777
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
../src/cached-powers.cc:136:18: error: unused variable 'kCachedPowersLength' [-Werror,-Wunused-const-variable]
static const int kCachedPowersLength = ARRAY_SIZE(kCachedPowers);
I tried to tell clang not to error out when there is an unused constant using the following, but to no avail the result was the same:
ARCHFLAGS=-Wno-error=unused-const-variable gem install libv8 -v '3.11.8.13'
What command line option am I missing?
Thanks
I had the same issue on my machine. Using the --with-system-v8 flag resolved the problem. Full documentation on this flag here.
I was trying run gem install json and got the following error
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling generator.c
linking shared-object json/ext/generator.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [generator.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /opt/boxen/repo/.bundle/ruby/2.0.0/gems/json-1.8.0 for inspection.
Results logged to /opt/boxen/repo/.bundle/ruby/2.0.0/extensions/universal-darwin-13/2.0.0/json-1.8.0/gem_make.out
I'm using:
Os X: 10.9.2
Xcode: 5.1 Build version 5B130a
Command Line Tools (CLT): 5.1.0.0.1.1393561416
Ruby: ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
Ruby Gem: 2.2.2
GCC: 4.2.1 Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
I am encountering the exact same problem after updating Xcode to 5.1 and news from Apple aren't good. From Xcode 5.1 Release Notes:
The Apple LLVM compiler in Xcode 5.1 treats unrecognized command-line options as errors. This issue has been seen when building both Python native extensions and Ruby Gems, where some invalid compiler options are currently specified.
Projects using invalid compiler options will need to be changed to remove those options. To help ease that transition, the compiler will temporarily accept an option to downgrade the error to a warning:
-Wno-error=unused-command-line-argument-hard-error-in-future
To workaround this issue, set the ARCHFLAGS environment variable to downgrade the error to a warning.
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName
It seems that all gems violating the compiler options must be updated to use valid options. It is explicitly stated that: This option [downgrading error to warning] will not be supported in the future.
The clang note we are seeing (this will be a hard error (cannot be downgraded to a warning) in the future) corresponds to the change announced in the release notes.
To answer your question specifically, use the following to install the json gem:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install json
Note, however, that this is only a temporary fix.
One-liner to fix that
curl https://gist.githubusercontent.com/Paulche/9713531/raw/1e57fbb440d36ca5607d1739cc6151f373b234b6/gistfile1.txt | sudo patch /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb
To address the issue you can install the most recent version of ruby as described by #Sash. You can use the following commands to do so. In case you already have installed rvm, you don't need to reinstall it.
#Install rvm
\curl -sSL https://get.rvm.io | bash -s stable
#Install ruby version 2.0.0-p451
rvm install ruby-2.0.0-p451
#Print ruby version to verify that it was installed successfully
ruby -v
#Install json gem
sudo gem install json
Issue already addressed by Ruby:
https://bugs.ruby-lang.org/issues/9624
now we just need to wait for Apple to update their ruby version (2.0.0p247) to the one after the latest one (2.0.0p451) which hasn't come out yet ...
(or brew/macport it)
Update (2014-05-15): Mavericks 10.9.3 updates ruby to
ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13]
And this seems to resolves the issue.
#Muncken has already provided an answer to install gem one by one:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install GemName
Base on Muncken's answer, I've tried that it also works when using bundle install
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future bundle install
In my case, I actually have similar problem, but not on the system ruby, but on rubies installed by rvm from OSX 10.8, and it has issues after upgrading to OSX 10.9.
A simple reinstall works: rvm reinstall ruby-2.1.1
On OSX 10.10, I had several issues when running rails new firstapp such as:
ERROR: Error installing json:
ERROR: Failed to build gem native extension.
fatal error: 'ruby/config.h' file not found
I updated rvm with this configuration and all the errors are gone!:
rvm get stable --auto-dotfiles
You can tell from the app name that I just started fiddling with Ruby on Rails, so the above advice may or may not work for you.
Paul Chechetin's one-liner doesn't appear to work anymore (9/21/15). However, this reply to the post mentioned in Pete's reply solved the problem for me:
(a) Install Apple's XCode, then (b) launch it and accept the licensing terms (I had done (a), but not (b).)
sudo gem uninstall compass
sudo gem install compass
None of these worked for me.
What finally worked is running the command with a sudo -
gem install byebug -v '9.0.6'
It's been a while and I've got similar error. An alternative to folks using bundler is to add the flag to the build configuration like below example:
bundle config build.<gemname> --with-cflags="-Wno-error=implicit-function-declaration"
followed by
bundle install
Please note that you must replace <gemname> above with the name of the actual gem that is throwing the error while building native extensions.
I hope this becomes helpful to others that face similar issues in the future!
I used a simple solution... install through brew
brew install name
I've been struggling to install jekyll on my mac, don't know much about ruby or configuring/debugging these messages.
I'm getting the following when running "sudo gem install jekyll"
Building native extensions. This could take a while...
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
creating Makefile
make "DESTDIR="
make: *** No rule to make target `/include/universal-darwin13/ruby/config.h', needed by `porter.o'. Stop.
Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/fast-stemmer-1.0.2/ext/gem_make.out
"gcc --version" returns the following:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
use this command :
$ sudo xcode-select -r
then
$ sudo gem install jekyll
Hope this help you.
Besides upgrading xcode, as rayrashmi suggested, you have to actually open it so the command-line tools are properly installed.
(I am assuming you installed the command-line tools from xcode before upgrading to mavericks, if you haven't they're under Preferences → Downloads → Components, official info here.)
Then, just upgrade gem if you haven't already done so and install jekyll and any other library you were using, like pigments.
As they say, "worked for me."
I'm trying to install Jekyll but I keep getting stuck on this error. Here's the output to my attempt at installing it
clinch#clinch-VirtualBox:~$ gem install jekyllBuilding native extensions. This could take a while...
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/home/clinch/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
creating Makefile
make
compiling porter.c
cc1: unrecognized option `-Wextra'
cc1: unrecognized option `-Wno-missing-field-initializers'
cc1: unrecognized option `-Wdeclaration-after-statement'
make: *** [porter.o] Error 1
Gem files will remain installed in /home/clinch/.rvm/gems/ruby-1.9.3-p392/gems/fast-stemmer-1.0.2 for inspection.
Results logged to /home/clinch/.rvm/gems/ruby-1.9.3-p392/gems/fast-stemmer-1.0.2/ext/gem_make.out
clinch#clinch-VirtualBox:~$ gcc -v
Using built-in specs.
Configured with: ./configure --target=mips-dec-ultrix42 --program-prefix=mips- --with-gnu-as --with-gnu-ld --enable-obsolete
Thread model: single
gcc version 3.2.2
clinch#clinch-VirtualBox:~$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]
clinch#clinch-VirtualBox:~$ uname -a
Linux clinch-VirtualBox 3.2.0-37-generic #58-Ubuntu SMP Thu Jan 24 15:28:10 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
I've installed the ruby1.9.1-dev package already. I've tried compiling with gcc 4.6 as opposed to 3.2.2 showed in the output I pasted. I also don't know if the native extension error is making the gcc die. I've also rebuilt ruby from scratch.
Maybe I should try with another Ruby version? Though I know 1.9.3 is supported by jekyll.
Any help will be appreciated.
Try installing Jekyll from Ruby or Ruby and Rails command prompt instead of any other command prompt
I am not an expert at all, so my suggested solution is just a 'guess' based on my experience below.
I am using Windows 7. Although you're using Ubuntu and not Windows 7, this solution might work for pretty much anyone with the same problem.
First, I installed Ruby from RailsInstaller. Then, I wanted to install Jekyll. I tried installing Jekyll from Cygwin. However, I received the following error (although it is not identical to the questioner's error, I think it is sufficiently similar):
$ gem install jekyll
Building native extensions. This could take a while...
ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.
/usr/bin/ruby.exe extconf.rb
creating Makefile
make
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I. -ggdb -O2 -pipe -fno-strict-aliasing -Wall -o posix-spawn.o -c posix-spawn.c
posix-spawn.c:9:19: fatal error: spawn.h: No such file or directory
#include <spawn.h>
^
compilation terminated.
Makefile:206: recipe for target `posix-spawn.o' failed
make: *** [posix-spawn.o] Error 1
Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6 for inspection.
Results logged to /usr/lib/ruby/gems/1.9.1/gems/posix-spawn-0.3.6/ext/gem_make.out
However, when I tried to install Jekyll from Command Prompt with Ruby and Rails (i.e. Ruby command prompt), Jekyll installed successfully.
Just in case this matters, I removed the system variable {Variable:Comspec,Value:C:\Windows\system32\cmd.exe} before (successfully) trying to install Jekyll from the Ruby and Rails command prompt.
When I try installing rails version 3.1 I get an error in the terminal:
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
/Users/alonbond/.rvm/rubies/ruby-1.9.2-p290/bin/ruby extconf.rb
creating Makefile
make
sh: make: command not found
Gem files will remain installed in /Users/alonbond/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/json-1.6.3 for inspection.
Results logged to /Users/alonbond/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/gems/1.9.1/gems/json-1.6.3/ext/json/ext/parser/gem_make.out
and then I try using a rails command:
Alon-Weissfelds-MacBook-Pro:~ alonbond$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
Try to install Xcode from Mac App Store or GCC compiler https://github.com/kennethreitz/osx-gcc-installer.
Usually Xcode solves all those problems. The GCC is not 100% compliant with all gems.