7

I've been racking my head on this one. I've followed suggestions in several related posts but to no avail.

I am starting from a fresh install of Mountain Lion, installed the Command Line Tools, and have Ruby 1.8.7 successfully installed based on a few other posts I've found for installing gcc-4.2 via Homebrew and adding a symlink to /usr/bin/gcc-4.2.

Now, however, I'm unable to successfully install libv8. The error below is as far as I've gotten off of the existing suggestions.

Any additional input?

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /Users/Eric/.rbenv/versions/1.8.7-p352/bin/ruby extconf.rb 
creating Makefile
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Traceback (most recent call last):
  File "build/gyp/gyp", line 18, in <module>
    sys.exit(gyp.main(sys.argv[1:]))
  File "build/gyp/pylib/gyp/__init__.py", line 480, in main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "build/gyp/pylib/gyp/generator/make.py", line 2085, in GenerateOutput
    part_of_all=qualified_target in needed_targets)
  File "build/gyp/pylib/gyp/generator/make.py", line 756, in Write
    self.xcode_settings, self.Absolutify, self.Pchify))
  File "build/gyp/pylib/gyp/generator/make.py", line 1132, in WriteSources
    cflags = self.xcode_settings.GetCflags(configname)
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 258, in GetCflags
    sdk_root = self._SdkPath()
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 247, in _SdkPath
    return os.path.join(self._GetSdkBaseDir(), '%s.sdk' % sdk_root)
  File "build/gyp/pylib/gyp/xcode_emulation.py", line 233, in _GetSdkBaseDir
    raise Exception('Error %d running xcode-select' % job.returncode)
Exception: Error 2 running xcode-select
make: *** [out/Makefile.x64] Error 1
Using compiler: g++
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=x64 \
                  -S.x64 -Dhost_arch=x64
xcode-select: Error: No Xcode is selected. Use xcode-select -switch <path-to-xcode>, or see the xcode-select manpage (man xcode-select) for further information.



Gem files will remain installed in /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3 for inspection.
Results logged to /Users/Eric/Development/par8o/vendor/bundle/ruby/1.8/gems/libv8-3.11.8.3/ext/libv8/gem_make.out
An error occured while installing libv8 (3.11.8.3), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.11.8.3'` succeeds before bundling.
Eric M.
  • 5,399
  • 6
  • 41
  • 67
  • Have you installed xcode. If not try installing xcode – Josnidhin Jul 31 '12 at 04:54
  • 1
    I have not and I'd rather avoid it if I can. Shouldn't the command line tools package cover this? – Eric M. Jul 31 '12 at 13:12
  • Might be possible, not very sure – Josnidhin Jul 31 '12 at 13:21
  • 1
    I found that http://stackoverflow.com/questions/19577759/installing-libv8-gem-on-mavericks 's gem install libv8 -v 3.11.8.17 -- --with-system-v8 works =) – xxjjnn Oct 30 '13 at 17:39
  • What are you talking about past self? Only this works: http://stackoverflow.com/questions/19546730/error-when-installing-libv8-3-11-8-3 (see answer pointing to https://github.com/cowboyd/libv8/issues/107, need to manually install the gem. Should be a temporary problem) – xxjjnn Nov 01 '13 at 17:56

9 Answers9

15

The deal is with ruby 1.8.7. Probably you need this gem to run therubyracer. And to make this work you need install therubyracer gem as follows:

RUBYOPT=-rrubygems gem install therubyracer

This will install both therubyracer and libv8 gems.

source: http://coderwall.com/p/y1djxq

formigarafa
  • 377
  • 1
  • 11
3

In my case the compilation failed, due to issues with libtool. The error was libtool: unrecognized option '-static' when installing the libv8gem.

The problem was, that my macports-Installation was having a obviously non-working libtool. And the macports-Directory in $PATH were before the regular directories the wrong libtool was called.

Removing the macports-Directories from the PATH-Environmentvariable did the trick: the libtool from XCode was used and everything went fine.

arthankamal
  • 6,341
  • 4
  • 36
  • 51
senfomat
  • 66
  • 2
3

I had this issue and found a the solution here

In short, install v8 yourself - if you have home-brew you can run

brew install v8

Then use the system v8 when installing

gem install libv8 -- --with-system-v8
Community
  • 1
  • 1
cadlac
  • 2,802
  • 3
  • 18
  • 34
2

After I had this problem on OS X 10.7.5, the follow Gemfile entry worked for me:

gem "libv8", '3.11.8.13'

> ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin11.4.2]
kgilpin
  • 2,201
  • 18
  • 18
0

Using the RUBYOPT=-rrubygems suggestion above worked for me, but I had to uninstall my existing therubyracer and libv8 gems first.

rlawrenz
  • 146
  • 3
0

After many failed attempts of various methods I just finally downloaded Xcode and as the error message implies, that'll do the trick

jpillora
  • 5,194
  • 2
  • 44
  • 56
0

None of the above answers worked for me. This is what did:

gem install libv8 -v '3.11.8.3'
gem install therubyracer -v '0.11.0beta5'

ref: https://coderwall.com/p/s8ofka

My System:

OSX Mountain Lion
Ruby 1.9.3
thekindofme
  • 3,846
  • 26
  • 29
0

First try and resolve the issue by using:

RUBYOPT=-rrubygems gem install therubyracer

If the error persists, update your gems:

bundle update
Jeremy Lynch
  • 6,780
  • 3
  • 52
  • 63
-2

Different gems require different versions of GCC, so this may or may not work for all gems, but these symlinks solved the problem for the json, eventmachine, and libv8 gems on Mountain Lion with Xcode 4.4 installed.

sudo ln -s /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

sudo ln -s /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 /usr/bin/g++-4.2

Jim Haungs
  • 184
  • 10
  • Different versions of RUBY require different compilers. 1.9.3 and 1.9.2 require different versions of GCC, respectively. For 1.9.3, the GCC that comes with Mountain Lion shouldbe fine, but if you want Ruby 1.9.2m, you have to install GCC 4.2 – tesserakt Aug 15 '12 at 16:53