Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

0.11.0 compile error #215

Closed
Bugagazavr opened this Issue · 96 comments
@Bugagazavr

Some problems with compile gem, after update to 0.11.0
Ubuntu 10.10 32bit

 ** [out :: deploy@localhost] Installing therubyracer (0.11.0)
 ** [out :: deploy@localhost] with native extensions
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
 ** [out :: deploy@localhost] checking for main() in -lpthread... yes
 ** [out :: deploy@localhost] creating Makefile
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] make
 ** [out :: deploy@localhost] compiling accessor.cc
 ** [out :: deploy@localhost] compiling function.cc
 ** [out :: deploy@localhost] compiling gc.cc
 ** [out :: deploy@localhost] compiling v8.cc
 ** [out :: deploy@localhost] compiling constraints.cc
 ** [out :: deploy@localhost] compiling trycatch.cc
 ** [out :: deploy@localhost] compiling context.cc
 ** [out :: deploy@localhost] compiling exception.cc
 ** [out :: deploy@localhost] compiling init.cc
 ** [out :: deploy@localhost] compiling object.cc
 ** [out :: deploy@localhost] compiling backref.cc
 ** [out :: deploy@localhost] compiling primitive.cc
 ** [out :: deploy@localhost] compiling script.cc
 ** [out :: deploy@localhost] compiling heap.cc
 ** [out :: deploy@localhost] compiling handles.cc
 ** [out :: deploy@localhost] compiling message.cc
 ** [out :: deploy@localhost] compiling signature.cc
 ** [out :: deploy@localhost] compiling rr.cc
 ** [out :: deploy@localhost] compiling invocation.cc
 ** [out :: deploy@localhost] compiling locker.cc
 ** [out :: deploy@localhost] compiling array.cc
 ** [out :: deploy@localhost] compiling date.cc
 ** [out :: deploy@localhost] compiling value.cc
 ** [out :: deploy@localhost] compiling stack.cc
 ** [out :: deploy@localhost] compiling external.cc
 ** [out :: deploy@localhost] compiling constants.cc
 ** [out :: deploy@localhost] compiling string.cc
 ** [out :: deploy@localhost] compiling template.cc
 ** [out :: deploy@localhost] linking shared-object v8/init.so
 ** [out :: deploy@localhost] /usr/local/rvm/gems/ruby-1.9.3-p194/gems/libv8-3.11.8.3-x86_64-linux/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: No such file or directory
 ** [out :: deploy@localhost] collect2: ld returned 1 exit status
 ** [out :: deploy@localhost] make: *** [init.so] Error 1
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] Gem files will remain installed in /usr/local/rvm/gems/ruby-1.9.3-p194/gems/therubyracer-0.11.0 for inspection.
 ** [out :: deploy@localhost] Results logged to /usr/local/rvm/gems/ruby-1.9.3-p194/gems/therubyracer-0.11.0/ext/v8/gem_make.out
 ** [out :: deploy@localhost] 
 ** [out :: deploy@localhost] An error occurred while installing therubyracer (0.11.0), and Bundler cannot continue.
 ** [out :: deploy@localhost] Make sure that `gem install therubyracer -v '0.11.0'` succeeds before bundling.
@erbmicha

Same here and libv8 gem (3.11.8.3) is installed

@cowboyd
Owner

This is curious. If you are on Ubuntu 32bit, why did rubygems select the libv8-3.11.8.3-x86_64-linux native gem?

@mazikwyry

Have the same problem on Ubutnu 64-bit.

exlabs@debian:~/bank$ gem install therubyracer -v '0.11.0'
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.

        /home/exlabs/.rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
checking for main() in -lpthread... yes
creating Makefile

make
compiling context.cc
compiling handles.cc
compiling constraints.cc
compiling function.cc
compiling date.cc
compiling accessor.cc
compiling signature.cc
compiling v8.cc
compiling object.cc
compiling trycatch.cc
compiling constants.cc
compiling template.cc
compiling value.cc
compiling backref.cc
compiling invocation.cc
compiling string.cc
compiling exception.cc
compiling primitive.cc
compiling external.cc
compiling rr.cc
compiling script.cc
compiling gc.cc
compiling array.cc
compiling message.cc
compiling init.cc
compiling locker.cc
compiling heap.cc
compiling stack.cc
linking shared-object v8/init.so

/usr/bin/ld: /home/exlabs/.rvm/gems/ruby-1.9.3-p0/gems/libv8-3.11.8.0/vendor/v8/out/x64.release/obj.target/v8_base/src/api.o: relocation R_X86_64_32S against `vtable for v8::ScriptData' c
an not be used when making a shared object; recompile with -fPIC
/home/exlabs/.rvm/gems/ruby-1.9.3-p0/gems/libv8-3.11.8.0/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [init.so] Błąd 1


Gem files will remain installed in /home/exlabs/.rvm/gems/ruby-1.9.3-p0/gems/therubyracer-0.11.0 for inspection.
Results logged to /home/exlabs/.rvm/gems/ruby-1.9.3-p0/gems/therubyracer-0.11.0/
@jwg2s

Also getting this same error.

@Exoth

Getting a different error on Ubuntu 12.10 x64:

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

        /home/exoth/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for main() in -lpthread... yes
checking for v8.h... yes
creating Makefile

make
compiling constraints.cc
compiling stack.cc
compiling heap.cc
compiling template.cc
compiling gc.cc
compiling constants.cc
compiling rr.cc
compiling accessor.cc
compiling context.cc
context.cc: In static member function ‘static VALUE rr::Context::IsCodeGenerationFromStringsAllowed(VALUE)’:
context.cc:93:30: error: ‘class v8::Context’ has no member named ‘IsCodeGenerationFromStringsAllowed’
context.cc:94:1: warning: control reaches end of non-void function [-Wreturn-type]
make: *** [context.o] Error 1
@hlascelles

This failed for me today installing 0.11.0 with a slightly different error to the others reported here so far. Linux (Mint) 64bit.

linking shared-object v8/init.so
.... gems/libv8-3.11.8.3-x86_64-linux/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: Malformed archive
collect2: ld returned 1 exit status
make: *** [init.so] Error 1
@kwent

Same on heroku :D

@brafales

It's also failing in a standard Amazon AWS AMI image. 64 bits

@Bugagazavr

Im trying on Ubuntu server 12.10 64 bit, same problem :(

@cowboyd
Owner

@kwent I am using a binary of therubyracer on heroku which is the exact same library, but precompiled against the 1.9.3 ABI. You can install use it there by fixing using 0.11.0beta8 in your Gemfile.

@cowboyd
Owner

For everybody else, it appears that the libv8 archive is corrupted. The workaround is going to be building libv8 from source. I've released a source only version 3.11.8.4 which everybody should be able to install. This will take more time, because it will have to compile v8

It would help If you could send me a copy of the gems once they are compiled so that I can compare them to what's on rubygems.

@sethcall

I ran into this yesterday, saw your comment about 3.11.8.4, tried again, but am still getting an error (notice 3.11.8.4 in the log):

linking shared-object v8/init.so
/usr/local/rvm/gems/ruby-1.9.3-p286@mygemset/gems/libv8-3.11.8.4/vendor/v8/out/ia32.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: Malformed archive
collect2: ld returned 1 exit status
make: *** [init.so] Error 1

The only workaround I've been able to successfully do is to go down to 0.11.0beta8.

@Sega100500

Debian 6.0.6:

ruby@debian:~/projects$ gem install therubyracer -v '0.11.0'
Building native extensions. This could take a while...
ERROR: Error installing therubyracer:
ERROR: Failed to build gem native extension.

    /home/ruby/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb

checking for main() in -lpthread... yes
checking for v8.h... yes
creating Makefile

make
compiling primitive.cc
In file included from primitive.cc:1:
rr.h: In member function ‘v8::Handlev8::Boolean (* rr::Accessor::indexedPropertyQuery())(uint32_t, const v8::AccessorInfo&)’:
rr.h:473: error: invalid conversion from ‘v8::Handlev8::Integer ()(uint32_t, const v8::AccessorInfo&)’ to ‘v8::Handlev8::Boolean ()(uint32_t, const v8::AccessorInfo&)’
In file included from primitive.cc:1:
rr.h: In static member function ‘static VALUE rr::Stack::Trace::kScriptNameOrSourceURL(VALUE)’:
rr.h:754: error: ‘kScriptNameOrSourceURL’ is not a member of ‘v8::StackTrace’
make: *** [primitive.o] Ошибка 1

Gem files will remain installed in /home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/therubyracer-0.11.0 for inspection.
Results logged to /home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/therubyracer-0.11.0/ext/v8/gem_make.out

@jrochkind

I'm getting downstream reports from users of MY software about failure to compile 0.11.0 too.

Also, it won't compile on travis, whereas 0.10.0 would. (I have no idea if you really need therubyracer on travis, but if it was in your Gemfile it would install before 0.11.0 won't).

I hadn't tried to install it yet, cause i've got an 0.10.x in alll my Gemfile.locks already. So I just tried manually, indeed it fails for me too.

I think 0.11.0 has pretty significantly decreased the number of people who can succesfully install it on their systems in a Just Works way. I think a lot of people are just going to lock to 0.10.x and figure 'good enough' (I know I will).

$ gem install therubyracer -v 0.11.0
Fetching: ref-1.0.2.gem (100%)
Fetching: therubyracer-0.11.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.

        /home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for main() in -lpthread... yes
checking for v8.h... no
*** 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
        --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=/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
        --with-pthreadlib
        --without-pthreadlib
        --enable-debug
        --disable-debug
        --with-v8-dir
        --without-v8-dir
        --with-v8-include
        --without-v8-include=${v8-dir}/include
        --with-v8-lib
        --without-v8-lib=${v8-dir}/lib
/home/rochkind/.rvm/gems/ruby-1.9.3-p194/gems/therubyracer-0.11.0/ext/v8/build.rb:42:in `build_with_system_libv8': unable to locate libv8. Please see output for details (RuntimeError)
        from extconf.rb:22:in `<main>'
    The Ruby Racer requires libv8 ~> 3.11.8
    to be present on your system in order to compile
    and link, but it could not be found.

    In order to resolve this, you will either need to manually
    install an appropriate libv8 and make sure that this
    build process can find it. If you install it into the
    standard system path, then it should just be picked up
    automatically. Otherwise, you'll have to pass some extra
    flags to the build process as a hint.

    If you don't want to bother with all that, there is a
    rubygem that will do all this for you. You can add
    following line to your Gemfile:
        gem 'libv8', '~> 3.11.8'

    We hope that helps, and we apologize, but now we have
    to push the eject button on this install.

    thanks,
    The Mgmt.

RHEL5 machine, therubyracer 0.10.2 compiles and installs just fine.

@jrochkind

latest version of gem libv8 won't install either.

$ gem install libv8
Fetching: libv8-3.11.8.4.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing libv8:
        ERROR: Failed to build gem native extension.

        /home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
creating Makefile
which: no g++44 in (/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/rochkind/bin)
which: no g++46 in (/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/rochkind/bin)
which: no g++48 in (/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/gems/ruby-1.9.3-p194@global/bin:/home/rochkind/.rvm/rubies/ruby-1.9.3-p194/bin:/home/rochkind/.rvm/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/rochkind/bin)
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Traceback (most recent call last):
  File "build/gyp/gyp", line 15, in ?
    import gyp
  File "build/gyp/pylib/gyp/__init__.py", line 8, in ?
    import gyp.input
  File "build/gyp/pylib/gyp/input.py", line 14, in ?
    import gyp.common
  File "build/gyp/pylib/gyp/common.py", line 375
    with open(source_path) as source_file:
            ^
SyntaxError: invalid syntax
gmake: *** [out/Makefile.x64] Error 1
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

Although 3.11.8 exactly installs for me. 3.11.8.4 does not.

@cowboyd
Owner

@jrochkind It looks like your version of python is incompatible with the v8 build. 3.11.8.3 probably worked for you because there was a binary release version.

I have not released a binary version for 3.11.8.4 yet because there are unresolved problems on some platforms that prevent it from working entirely. In the meantime, you should be able to lock in 3.11.8.3 in your Gemfile.

@cowboyd
Owner

@Sega100500 You are compiling therubyracer against the system v8, but using an incompatible version. You can either use 3.11.x or use the libv8 gem

@cowboyd
Owner

@sethcall what is the OS and architecture you're using?

@jrochkind
@cowboyd
Owner

@jrochkind You make a valid point, but since this is the first positive feedback about the old system I have received , I guess I didn't really realize its value up until now. (and thank you by the way)

The problem I was trying to address was that if the out-of-the-box experience didn't work for you, you were pretty well hosed, so 0.11.0 relaxed the constraint on libv8 making it optional, so that you could install it on your own if you wanted.

Perhaps there is a way to have the cake and eat it too. Let me think about it, and if you have anything to suggest, please let me know.

@Sega100500

@cowboyd
I use standart Debian 6.0.6, Ruby 1.9.3, Rails 3.2.9
Earlier everything worked without problems. What now not so? What it is necessary to set in addition?
'bundle update' - fail on compile 'therubyracer'

@cowboyd
Owner

@Sega100500 place libv8 3.11.8.3 in your Gemfile

@pcerioli

Thank you @cowboyd
I added this to my Gemfile:

gem 'libv8', '3.11.8.3'

and the bundle update worked great :)

@jrochkind

@cowboyd ha I'm glad I reworded my comment to be sure to be positive about the previous install experience.

People often don't know what they've got when (i mean:) til it's gone -- when something Just Works, you just don't notice it, you don't realize you should be thankful for it Just Working. :) While Rails isn't your responsibility, the availability of therubyracer has been pretty important to keeping Rails install process from being too monstrous, despite requiring a js runtime these days -- and a Just Works install experience (without getting into unix dependency hell with versions of python and gcc and lib_whatever) was pretty crucial for that.

I'm afraid I don't know enough about compiling C from source to have any ideas about how to get 'best of both worlds' (not knowing enough about compiling C from source is why I avoid unix dependency hell at all costs! I'd rather lock to therubyracer 0.10.x, then try to get the right version of python/gcc/whatever installed). Would it make sense to actually offer two versions of the gem (maybe one is built on the other as a dependency), the one actually called therubyracer has the same install strategy as 0.10.0, the one that proved so robust -- while maybe there's another one therubyracer-diy, for people that the 0.10.0 strategy failed for? Obviously all shared code would have to be DRY in just one gem, but somehow releasing as two different forward-facing gems, to offer both install strategies? But I have no idea what it would take to make that happen, not understanding either the 0.10.0 or the 0.11.0 install strategy myself!

@kim3er

Would just like to echo the Just Works comments. 'therubyracer' is such a great gem because I've never had any problems with it, before now. My one and only choice for Rails asset precompiling.

@leppert

Same problem here on Mac OSX Lion. Fixed with gem 'libv8', '3.11.8.3'

@ano1chan

For me, I just add gem 'libv8' without define any version to it.
And this helps

p.s. for people tried gem 'libv8', '3.11.8.3' but didn't work, try this.

@ionosphere

Same problem with Ubuntu 11.10.
gem 'libv8', '3.11.8.4' or gem 'libv8' don't solve the problem.

/usr/local/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.4/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: Malformed archive
@julionc

In some case libv8 doesn't work properly.
Stay with v0.10.2 for awhile.

gem 'therubyracer', '0.10.2', :platforms => :ruby
@mikemcquaid

@cowboyd Firstly, thanks for your work on this and your other gems. The only thing I could suggest is that perhaps you offer a therubyracer-systemv8 gem or something for the people who don't want to use the libv8 gem. Currently, even with libv8 in my Gemfile above therubyracer for no apparent reason bundle install will always try and install therubyracer first causing the build to fail. It seems the problem is that bundler has no real support for optional dependencies.

@mikemcquaid

@cowboyd Another option I've played with locally (and can make into a patch if the approach is sound) is to make the check conditional in the gemspec:

gem.add_dependency 'libv8' unless File.exists? '/usr/local/include/libv8.h'

Obviously you'd check more than this one path but it seems it might be a good approach. Thoughts?

@cowboyd
Owner

@jrochkind @mikemcquaid I think perhaps the answer is to make libv8 a hard dependency again, but make libv8 smarter, so that if you pass a --with-system-v8 to libv8, then it will just take a pass on building and merely check that you have a compatible v8.h and supporting object files installed. It's methods will then return the system headers and libraries.

@mikemcquaid

@cowboyd Seems like a good solution. Post on this issue when you have something there. Thanks!

@jrochkind
@JohnMerlino1

I tried adding the following variants to gemfile and then deploying to a production server on ubuntu and nothing works:

1)
gem 'libv8', '3.11.8.3'

2)
gem 'therubyracer', '0.10.2', :platforms => :ruby

3)
gem 'therubyracer'
gem 'libv8', '3.3.10.4'

4)
gem 'libv8', '~> 3.11.8.3'

@jrochkind

At minimum, do you want to change the readme to explain how to get the thing to compile? (Or suggest people lock to 0.10.0?)

It won't install on travis anymore, and despite filing this ticket it still confused me at first when my travis build failed. I guess I'm supposed to add a "libv8" dependency, if I wasn't locking to 0.10.x? The README does not say that, there's no way for anyone to know they're supposed to add the libv8 dependency

(the fact that even adding the libv8 dependency doesn't actually work on many systems is another issue. Honestly, if I were you, I might publically suggest people just stick with 0.10.0, 0.11.0 was premature and does not install reliably enough).

@cowboyd
Owner

There are three main competing concerns which I would like to address: a single command installation, the ability to use a multiplicity of v8 versions, and the availability of source vs binary gems. Even though they are often at odds with each other, any proposed solution should try to accommodate them as best it can.

A single gem dependency

To start off, the ability to get a working version of therubyracer with a single gem dependency has been lost and as this issue documents, it is no small loss. While this was done to support custom versions of v8, it appears akin to having thrown out the baby with the bathwater. We seek to bring this capability back.

Ability to use a system v8

There are two main classes of problem that breaking the hard dependency on libv8 was trying to solve. The first is for the user that wanted to use a custom version of v8 for security reasons. The second, and perhaps more important was for those users that simply could not get the libv8 gem to install properly at all. People with slightly oddball operating systems or architectures that weren't supported directly were effectively left with a dead end and no option to get therubyracer working. I wanted to leave the door open so that they could get the v8 binaries into the system some way or another.

Binary versions of libv8

On the machines I've used, v8 itself takes between 2 and 15 minutes to compile. This is an enormous headache and something which you definitely do not want to do every time you deploy. Worse, and for reasons which I don't fully grasp, the v8 binaries compiled for linux-x64 simply don't work on some systems. ld just doesn't recognize the generated archives as valid library code. While there may be a solution to this, the basic problem is that if the binary version doesn't work for you, there is no way to force a compilation on the local system via the source version of the gem (see #205). This leaves those folks in a dead end again.

Proposed solution

therubyracer gem will depend once again on libv8 such that installing one will install the other. This takes care of the primary concern and should make everybody in this thread happy. But that leaves us with how to address the other two concerns.

To do that, I propose that libv8 will go from being what it is now (just one other way to install v8), to being the proxy by which therubyracer seeks out v8 no matter where it lives. Currently, therubyracer chooses during its installation "do I want to use the libv8 gem?" or "do I want to try to install from system." This choice will go away and it will always ask libv8 for where it can find the v8 headers and binaries. If those happen to be from the system, from a developer's home directory, or from the object it compiled itself, it will be libv8's sole responsibility to verify and report those locations and therubyracer will depend on it fully for that.

libv8 will take three new compilation configuration options: --with-v8-include-dir and --with-v8-lib-dir and --with-v8-dir. If any of those are set, then it will not attempt to compile v8 itself and instead validate those installation locations. Assuming that they check out, then libv8 will report those locations as its own. If, on the other hand, they are not set, then libv8 will attempt to compile v8 itself (or if it is a binary version, use the packaged objects) and report the locations of v8 as its own, internal copies.

To verify an install, we can ship a small binary called libv8-tool which will can tell you where it thinks the binaries are located and validate them if possible.

This should actually provide a workaround for people who cannot use the binary versions because the file format will not work on their systems. I think that we can help these folk out by staggering source and binary releases of libv8 so that even numbers will be a source release and odd will be a binary release. Binary releases will always be ahead of source releases. That way, if a binary release is not working for you, you can always set it to a single version down to force the source. e.g.

3.11.8.4 -> source
3.11.8.5 -> binary

This should not take too long. I released 0.11.0 with a bit of trepidation, but also because the release was languishing and I needed to force unseen the issues like this one out into the light. In the meantime, @jrochkind, if you would like to update the README to indicate how to build, I would appreciate it.

@mikemcquaid

Sounds very sensible to me @cowboyd; nice work.

@jrochkind

Awesome, thanks for the update and the planning @cowboyd.

After you implement what you're planning, the 'default' installation will do more or less what it did in v0.10, so should work for people v0.10 worked for?

For background/history, can you explain what that was exactly? In v0.10, therubyracer assumed the libv8 dependency... and the libv8 dependency installed v8.... from source, or from binary?

I can update the README, but I'm sure what I'm updating it to -- to the current situation or your plan? And I'm not sure I fully understand either! I think the current situation is "If it doesn't work for you, you might need to add libv8 as an explicit dependency, and if that STILL doesn't work for you, lock to 0.10.x" (Is that right, or is current situation that EVERYONE needs to add libv8 as an explicit dependency? I don't know!). And updating the README for your planned scenario is defintiely beyond my ken at the moment.

@Bugagazavr

Now it works, my actions:

gem install libv8 -v '3.11.8.4'
gem install therubyracer

to gem file i will put

gem 'libv8', '3.11.8.4', :platform => :ruby
gem 'therubyracer', '0.11.0', :platform => :ruby
@JohnMerlino1

Still doesn't work on Ubuntu:

An error occured while installing therubyracer (0.11.0), and Bundler cannot continue.
Make sure that gem install therubyracer -v '0.11.0' succeeds before bundling.

@tomcsi

I have same problem on Ubutntu. Any solution?

@madrobby

Any solution for this?

Right now, I can't develop or deploy anymore because 0.11.0 fails to compile on Ubuntu, but I can't use an earlier version because those fail to compile on OS X. :(

@gaurish

Locking to v0.10.2, worked for me.

gem 'therubyracer', '0.10.2', :platforms => :ruby

But had the following error with latest v0.11.00

Installing therubyracer (0.11.0) with native extensions 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

        /home/gaurish/.rvm/rubies/ruby-1.9.3-p286-perf/bin/ruby extconf.rb                                
checking for main() in -lpthread... yes                                                                   
checking for v8.h... yes                                                                                  
creating Makefile                                                                                         

make                                                                                                      
compiling init.cc                                                                                         
compiling date.cc                                                                                         
compiling v8.cc                                                                                           
compiling stack.cc                                                                                        compiling script.cc                                                                                       
compiling string.cc                                                                                       
compiling context.cc                                                                                      
context.cc: In static member function ‘static VALUE rr::Context::SetData(VALUE, VALUE)’:                  
context.cc:81:3: error: no matching function for call to ‘v8::Context::SetData(rr::String)’               
context.cc:81:3: note: candidate is:                                                                      
In file included from rr.h:4:0,                                                                           
                 from context.cc:1:                                                                       
/usr/include/v8.h:3721:8: note: void v8::Context::SetData(v8::Handle<v8::Value>)                          
/usr/include/v8.h:3721:8: note:   no known conversion for argument 1 from ‘rr::String’ to ‘v8::Handle<v8::Value>’                                                                                                   
make: *** [context.o] Error 1                                                                             


Gem files will remain installed in /home/gaurish/.rvm/gems/ruby-1.9.3-p286-perf/gems/therubyracer-0.11.0 for inspection.                                                                                            
Results logged to /home/gaurish/.rvm/gems/ruby-1.9.3-p286-perf/gems/therubyracer-0.11.0/ext/v8/gem_make.out                                                                                                         
An error occurred while installing therubyracer (0.11.0), and Bundler cannot continue.
Make sure that `gem install therubyracer -v '0.11.0'` succeeds before bundling.                           

System info:

$ uname -a
Linux home 3.6.10-1-ARCH #1 SMP PREEMPT Tue Dec 11 09:40:17 CET 2012 x86_64 GNU/Linux

Hope it helps you to debug the issue

@cowboyd
Owner

@madrobby are you not able to install if you manually insert libv8 into your Gemfile?

To use 0.11.0 you will need v8 3.11.x either installed in your system or via the libv8 gem. I am working on getting this dependency installed automatically, but in the meantime, you will need to specify it manually.

@cowboyd
Owner

@gaurish the error you are seeing in your compile is because the version of v8 you are compiling against (probably the system library) is incompatible. Please see comments above. You can either specify a v8 that is in the 3.11.x series or use the libv8 gem.

@Sega100500

@cowboyd
I add gem libv8 gem in Gemfile. All works fine.
But!...
Think about of beginners who only start using Ruby on Rails. It is unlikely someone will guess even to glance here and to think that it is necessary to make. And thus, they won't be able to start at all successfully 'bundle install' and 'rails s'.

Think of that you push away beginners from Ruby on Rails use.

It is necessary that or the RoR developers changed initial Gemfile, or you should automate process of connection of gem libv8 somehow.

@gaurish

@cowboyd
I know. I have newer version of v8(3.14.0).

Curious to know why 0.10.2 works but 0.11.0 doesn't?

@mikemcquaid

@cowboyd In some cases it does not work even if inserted manually as bundler doesn't know to install libv8 before therubyracer.

@Sega100500

@mikemcquaid
In Gemfile insert gem 'libv8' before gem 'therubyracer'

@cowboyd
Ruby on Rails developers told that anything won't change in Gemfile that is your problems - problems with compilation.

@mikemcquaid

@Sega100500 Did that, doesn't make a difference. Bundler doesn't always respect ordering.

@cowboyd
Owner

@gaurish because 0.10.x included libv8 in its gemspec as a dependency, 0.11.x does not. See discussion above for details.

@JamesChevalier

I'm experiencing the same (or similar) issue - libv8 3.11.8.x won't install for me ... I figured I'd pass along the error output, in case it's helpful: http://pastebin.com/VnWaPPaN

v3.11.8.4 produces the error I've linked to, and earlier versions (v3.11.8.3, for example) just report "Killed".

For the moment, I've worked around the issue by specifying older versions in my Gemfile.

One thing I find incredibly odd, however, is that I've got another Rails app on the same Linode instance that is operating just fine with libv8 3.11.8.4 & therubyracer 0.11.0 ... I don't know what to make of that.

Update:
libv8 gem v3.11.8.9 results in the 'Killed' error
Also, I'm now experiencing the same problem with my other Rails app

@cowboyd
Owner

@JamesChevalier If you can give me a login to your linode instance, or one like it, I can try to diagnose it.

@cowboyd
Owner

@jrochkind and all, phase one of this plan is complete. As of 0.11.1, it now depends on the libv8 gem again.

This means that if you just do a gem install therubyracer or you have therubyracer in your Gemfile, then it will automatically install libv8 for you.

I still need to work on getting the binary gems out the door for the various environments. Right now there is only Snow Leopard, but I should soon have one for linux x64. I'll try to get one for linux x86 so that travis will start working again.

As those roll out, folks' lives should get a bit easier.

For those who do not want to use the libv8 that comes bundled with libv8, they can run

gem install libv8 -- --with-system-v8

or to configure bundler in your project.

bundle config build.libv8 --with-system-v8

For anybody who cannot get libv8-3.11.8.9 to build on their system, please report the bug against cowboyd/libv8

@cowboyd cowboyd closed this
@jrochkind

you rock @cowboyd

@Sega100500

@cowboyd

On Debian 6, Ruby 1.9.3-p327:

ruby@debian:~/projects/devapp$ gem install libv8 -- --with-system-v8
ERROR: While executing gem ... (RangeError)
bignum too big to convert into `long'

@Sega100500

@cowboyd

On Debian 6, Ruby 1.9.3-p327:

Installing therubyracer (0.11.1) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /home/ruby/.rvm/rubies/ruby-1.9.3-p327/bin/ruby extconf.rb

checking for main() in -lpthread... yes
*** 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=/home/ruby/.rvm/rubies/ruby-1.9.3-p327/bin/ruby
--with-pthreadlib
--without-pthreadlib
--enable-debug
--disable-debug
/home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/libv8-3.11.8.9/ext/libv8/location.rb:49:in configure': private methoddir_config' called for #Libv8::Location::MkmfContext:0x9214a04 (NoMethodError)
from /home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/libv8-3.11.8.9/lib/libv8.rb:7:in configure_makefile'
from extconf.rb:27:in
'

Gem files will remain installed in /home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/therubyracer-0.11.1 for inspection.
Results logged to /home/ruby/.rvm/gems/ruby-1.9.3-p327/gems/therubyracer-0.11.1/ext/v8/gem_make.out
An error occurred while installing therubyracer (0.11.1), and Bundler cannot continue.
Make sure that gem install therubyracer -v '0.11.1' succeeds before bundling.

@Sega100500

@cowboyd

with:

gem 'libv8', '3.11.8.4'
gem 'therubyracer', '0.11.0'

all works fine

Problems with 'libv8 3.11.8.9', 'therubyracer 0.11.1'

@cowboyd
Owner
@Sega100500

@cowboyd
cowboyd/libv8#70

problem with install libv8 3.11.8.9
firstly

for example:
installed therubyracer 0.11.0

ruby@debian:~$ gem update therubyracer
Updating installed gems
Updating therubyracer
ERROR: While executing gem ... (RangeError)
bignum too big to convert into `long'

@esfourteen

not sure if I should make another issue for this but I'm having a problem getting 0.11.1 to compile on ubuntu x64 and had to go back to 0.11.0 which works fine. attempting to install 0.11.1 fails here:

...
compiling v8.cc
compiling signature.cc
linking shared-object v8/init.so
/home/deploy/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.11-x86_64-linux/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: No such file or directory
collect2: ld returned 1 exit status
make: *** [init.so] Error 1

seems to be an issue with the binary of libv8 for linux: libv8-3.11.8.11-x86_64-linux

@cowboyd
Owner

@esfourteen yeah, for some reason I can't build a binary gem that works for linux x64 :( I was experimenting with it, but I was getting the same error, so I yanked it. If you purge the offending platform specific gem from your system, it should continue to work.

@kpdecker kpdecker referenced this issue in wycats/handlebars.js
Merged

Fix spec for 8df8488 #405

@rubytastic

Same Issue here.. Thanks for all the hard work.
Hope a fixed version is soon released.
Using

gem 'libv8', '3.11.8.4'
gem 'therubyracer', '0.11.0'

Suggestion for now which hope works

@cowboyd
Owner

@rubytastic The fix is in. You should be able to adjust that line to say:

gem 'therubyracer' '0.11.1'

and live happily ever after

@rubytastic

@cowboyd
Great I upgraded and deployed yesterday to production and worked flawlessly again.
Thank you for all your efforts and the quick fix!

@kevindewalt

Still failing for me in heroku:

  /tmp/build_4xi8uo30xkam/vendor/bundle/ruby/1.9.1/gems/libv8-3.11.8.11-x86_64-linux/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a: could not read symbols: No such file or directory
   collect2: ld returned 1 exit status
   make: *** [init.so] Error 1
   Gem files will remain installed in /tmp/build_4xi8uo30xkam/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.1 for inspection.
   Results logged to /tmp/build_4xi8uo30xkam/vendor/bundle/ruby/1.9.1/gems/therubyracer-0.11.1/ext/v8/gem_make.out
   An error occurred while installing therubyracer (0.11.1), and Bundler cannot continue.
   Make sure that `gem install therubyracer -v '0.11.1'` succeeds before bundling.

!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app

@esfourteen

@kevindewalt you need to remove libv8-3.11.8.11-x86_64-linux first (gem uninstall libv8), then gem install therubyracer

@kevindewalt

@esfourteen thanks for the quick reply. Unfortunately still failing. Longer output: http://pastie.org/5665539

Trying to remove other libv8 versions and see if it works.

@esfourteen

@kevindewalt It looks like its still installing an outdated version of libv8 prior to trying to install therubyracer, remove any references to libv8 in your Gemfile and just leave "gem therubyracer"

@kevindewalt

@esfourteen Sorry, still didnt't work: http://pastie.org/5665639

FWIW, this happened when I upgraded to Rails 3.2.11 based on the security vulnerability notice Heroku just sent out.

@esfourteen

@kevindewalt can you share your Gemfile?

@kevindewalt

http://pastie.org/5665697

@esfourteen, really appreciate the fast response.

@cowboyd
Owner

Please upgrade to the latest version of therubyracer 0.11.1 and remove references to libv8 from your Gemfile.

@kevindewalt

@cowboyd I'm not sure if that was directed to me, but see my gemfile at http://pastie.org/5665697 from the message above. You'll see that I have to refernce to libv8 and am using gem 'therubyracer'

@esfourteen

@kevindewalt I'm not sure whats causing your deployment to reference the older version of libv8 there, you could try forcing the older version of therubyracer in the mean time to get your app upgraded (the security issue is very serious). change the gem line to: gem 'therubyracer', '=0.11.0' and see if that deploys

@cowboyd
Owner

@esfourteen @kevindewalt I think you will be better off to upgrade therubyracer to the latest version since it depends on a greater version of libv8 either run bundle update therubyracer or put 0.11.1 in your Gemfile

Hero my must maintain a cache of rubygems that still has the yanked libv8 in it...

@kevindewalt

gem 'therubyracer', '=0.11.0' --> that didn't deploy either, sorry. Don't have the screen output, perhaps I'll try later.

@cowboyd
Owner

@kevindewalt please use 0.11.1 and not 0.11.0 if you want it to work.

@ignisf

@kevindewalt, did you try running bundle update? Can we take a look at your Gemfile.lock? Your issue is fixed by libv8 3.11.8.13 (cowboyd/libv8#73) but in your case therubyracer is attempting to use 3.11.8.11.

@kevindewalt

"did you try running bundle update?" ==> yes

gemfile.lock -==> http://pastie.org/5666207

Agreed, that is the problem.

@ignisf

@kevindewalt, I just noticed that you uninstalled the wrong version of the gem from your system:

Select gem to uninstall:
 1. libv8-3.11.8.11
 2. libv8-3.11.8.13-x86_64-darwin-11
 3. All versions
> 2

You need to either uninstall all versions and update or just .11

@kevindewalt

@ignisf I no longer have that version .11:

gem list --local l*

*** LOCAL GEMS ***

libv8 (3.11.8.13 x86_64-darwin-11)

@kevindewalt

All, I think the discussion is getting lostin the thread. Here is what I have now:

gemfile: http://pastie.org/5666457
gemfile.lock: http://pastie.org/5666459
what happens when I try to deploy to Heroku: http://pastie.org/5666495

Again, I started getting this error after upgrading rails based on the Heroku security message.

@cowboyd
Owner

@kevindewalt and all. My apologies for the false diagnosis. 0.11.1 depends on libv8 3.11.8.5 or greater so 3.11.8.11 would satisfy it.

It still should not make a difference since the gem you are getting was yanked from rubygems almost a week ago, but I went ahead and released a version (0.11.2) which depends on libv8 ~> 3.11.8.12

This should fix your problem. Again, my guess is that heroku is mirroring rubygems and that for some reason yanked gems are not getting purged from it... but that is only conjecture. I hope that this helps.

@gucki

@cowboyd When doing a bundle update, bundler automatically selects therubyracer 0.11.0. I guess this is because it can then install the latest libv8. Pinning it to 0.11.2 does the trick. Howerver I also had to delete all newer versions of libv8 on the server, otherwise I got strange compile errors. But now it works :)

@iGiveMore

@cowboyd I have been having similar issue installing therubyracer gem when I deploy to production. I have done 'gem install therubyracer' and I have uninstalled libv8 and reinstalled therubyracer gem. I have done "bundle show therubyracer" and it shows me that it is installed, but I keep getting this error when deploying to heroku:
screen shot 2013-06-06 at 1 16 32 pm

@cowboyd
Owner

@iGiveMore can you post the contents of your Gemfile and Gemfile.lock ?

@iGiveMore
source 'http://rubygems.org'
  ruby "1.9.3"

  gem 'rails', '3.2.13'
  gem 'nokogiri'
  gem 'rack', '~>1.1'


  gem 'haml'
  gem 'haml-rails', :group => :development


group :assets do
  gem 'compass'
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'uglifier'
  gem 'jquery-rails'
  gem 'execjs'
  gem 'less-rails'
  gem "libv8", "~> 3.16.14.1"
  gem 'therubyracer', "~> 0.11.4", :platforms => :ruby
  gem "twitter-bootstrap-rails", :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'


# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To paginate ActiveRecord model on view
  gem 'will_paginate', '3.0.3'
end

group :test do
  gem 'turn', '0.8.2', :require => false
  gem 'database_cleaner'
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'cucumber-rails'
  gem 'capybara'
  gem 'shoulda-matchers'
end

group :development, :test do
  gem 'sqlite3'
end

group :production, :staging do
  gem 'airbrake'
  gem 'unicorn'
  gem 'pg'
  gem 'aws-sdk'
  gem "aws-ses", "~> 0.4.4", :require => 'aws/ses' # For emails
  gem 'newrelic_rpm'
end

# Error reporting
# gem 'airbrake'

# Asset compilation
gem 'asset_sync'

# Site specific gems
gem 'has_permalink'
gem 'contacts', :git=>"https://github.com/bridgeutopia/contacts.git", :ref => 'b6f47a5'
gem 'paperclip'

# Authentication and identity
gem 'devise'#, '1.1.3'
gem 'devise-encryptable'
gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-linkedin'
gem 'omniauth-identity'

# Integration
gem 'hominid'

# Payments
gem 'activemerchant' # paypal
#gem 'authorize-net'
gem 'georgedrummond-active_paypal_adaptive_payment'

# Social
gem 'koala' # facebook graph

# Caching
gem 'dalli'

# AB Testing Counter
gem 'rails_atomic_increment'

gem 'rake', '10.0.4'

gem 'tinymce-rails'
gem 'youtube_it'
#gem 'rdiscount', '2.0.7.2'
gem 'httparty'

gem 'carrierwave'
#gem 'carrierwave_direct'
gem 'mini_magick'


GIT
remote: git://github.com/seyhunak/twitter-bootstrap-rails.git
revision: 0afff97ed0ce327688b0b049acc9744b3835ff37
specs:
  twitter-bootstrap-rails (2.2.7)
    actionpack (>= 3.1)
    execjs
    rails (>= 3.1)
    railties (>= 3.1)

GIT
remote: https://github.com/bridgeutopia/contacts.git
revision: b6f47a54ae63a1428bc9914e39cc95dae8526561
ref: b6f47a5
specs:
  contacts (1.2.4)
    gdata-19 (>= 1.1.2)
    json (>= 1.1.1)
    nokogiri (>= 1.4.0)

GEM
remote: http://rubygems.org/
specs:
actionmailer (3.2.13)
actionpack (= 3.2.13)
mail (~> 2.5.3)
actionpack (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.4)
rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
active_utils (1.0.5)
activesupport (>= 2.3.11)
i18n
activemerchant (1.33.0)
active_utils (>= 1.0.2)
activesupport (>= 2.3.14)
builder (>= 2.0.0)
i18n
json (>= 1.5.1)
money
nokogiri
activemodel (3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activesupport (3.2.13)
i18n (= 0.6.1)
multi_json (~> 1.0)
addressable (2.3.4)
airbrake (3.1.12)
activesupport
builder
json
ansi (1.4.3)
arel (3.0.2)
asset_sync (0.5.4)
activemodel
fog
aws-sdk (1.11.0)
json (~> 1.4)
nokogiri (>= 1.4.4)
uuidtools (~> 2.1)
aws-ses (0.4.4)
builder
mail (> 2.2.5)
mime-types
xml-simple
bcrypt-ruby (3.0.1)
builder (3.0.4)
capybara (2.1.0)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
carrierwave (0.8.0)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
chunky_png (1.2.8)
climate_control (0.0.3)
activesupport (>= 3.0)
cocaine (0.5.1)
climate_control (>= 0.0.3, < 1.0)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.2.0)
coffee-script-source
execjs
coffee-script-source (1.6.2)
commonjs (0.2.6)
compass (0.12.2)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
cucumber (1.3.2)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
gherkin (~> 2.12.0)
multi_json (~> 1.3)
cucumber-rails (1.3.1)
capybara (>= 1.1.2)
cucumber (>= 1.2.0)
nokogiri (>= 1.5.0)
rails (~> 3.0)
dalli (2.6.4)
database_cleaner (1.0.1)
devise (2.2.4)
bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.1)
railties (~> 3.1)
warden (~> 1.2.1)
devise-encryptable (0.1.2)
devise (>= 2.1.0)
diff-lcs (1.2.4)
erubis (2.7.0)
excon (0.22.1)
execjs (1.4.0)
multi_json (~> 1.0)
factory_girl (4.2.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.2.1)
factory_girl (~> 4.2.0)
railties (>= 3.0.0)
faraday (0.8.7)
multipart-post (~> 1.1)
fog (1.11.1)
builder
excon (~> 0.20)
formatador (~> 0.2.0)
json (~> 1.7)
mime-types
net-scp (~> 1.1)
net-ssh (>= 2.1.3)
nokogiri (~> 1.5.0)
ruby-hmac
formatador (0.2.4)
fssm (0.2.10)
gdata-19 (1.1.2)
georgedrummond-active_paypal_adaptive_payment (0.3.9)
activemerchant (>= 1.5.1)
hashie (>= 1.2.0)
mocha (>= 0.10.0)
money (>= 3.6.0)
multi_json (>= 1.0.0)
gherkin (2.12.0)
multi_json (~> 1.3)
haml (4.0.3)
tilt
haml-rails (0.4)
actionpack (>= 3.1, < 4.1)
activesupport (>= 3.1, < 4.1)
haml (>= 3.1, < 4.1)
railties (>= 3.1, < 4.1)
has_permalink (0.1.6)
hashie (2.0.5)
hike (1.2.2)
hominid (3.0.5)
httparty (0.11.0)
multi_json (~> 1.0)
multi_xml (>= 0.5.2)
httpauth (0.2.0)
i18n (0.6.1)
journey (1.0.4)
jquery-rails (3.0.0)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.0)
jwt (0.1.8)
multi_json (>= 1.5)
kgio (2.8.0)
koala (1.6.0)
addressable (~> 2.2)
faraday (~> 0.8)
multi_json (~> 1.3)
less (2.3.2)
commonjs (~> 0.2.6)
less-rails (2.3.3)
actionpack (>= 3.1)
less (~> 2.3.1)
libv8 (3.16.14.1)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
metaclass (0.0.1)
mime-types (1.23)
mini_magick (3.6.0)
subexec (~> 0.2.1)
mocha (0.14.0)
metaclass (~> 0.0.1)
money (5.1.1)
i18n (~> 0.6.0)
multi_json (1.7.5)
multi_xml (0.5.3)
multipart-post (1.2.0)
net-scp (1.1.1)
net-ssh (>= 2.6.5)
net-ssh (2.6.7)
newrelic_rpm (3.6.3.104)
nokogiri (1.5.9)
oauth (0.4.7)
oauth2 (0.8.1)
faraday (~> 0.8)
httpauth (~> 0.1)
jwt (~> 0.1.4)
multi_json (~> 1.0)
rack (~> 1.2)
omniauth (1.1.4)
hashie (>= 1.2, < 3)
rack
omniauth-facebook (1.4.1)
omniauth-oauth2 (~> 1.1.0)
omniauth-identity (1.1.0)
bcrypt-ruby (~> 3.0)
omniauth (~> 1.0)
omniauth-linkedin (0.1.0)
omniauth-oauth (~> 1.0)
omniauth-oauth (1.0.1)
oauth
omniauth (~> 1.0)
omniauth-oauth2 (1.1.1)
oauth2 (~> 0.8.0)
omniauth (~> 1.0)
omniauth-twitter (0.0.16)
multi_json (~> 1.3)
omniauth-oauth (~> 1.0)
orm_adapter (0.4.0)
paperclip (3.4.2)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 0.5.0)
mime-types
pg (0.15.1)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
rack-ssl (1.3.3)
rack
rack-test (0.6.2)
rack (>= 1.0)
rails (3.2.13)
actionmailer (= 3.2.13)
actionpack (= 3.2.13)
activerecord (= 3.2.13)
activeresource (= 3.2.13)
activesupport (= 3.2.13)
bundler (~> 1.0)
railties (= 3.2.13)
rails_atomic_increment (0.2)
rails (> 2)
railties (3.2.13)
actionpack (= 3.2.13)
activesupport (= 3.2.13)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.11.0)
rake (10.0.4)
rdoc (3.12.2)
json (~> 1.4)
ref (1.0.5)
rspec-core (2.13.1)
rspec-expectations (2.13.0)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.13.1)
rspec-rails (2.13.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.13.0)
rspec-expectations (~> 2.13.0)
rspec-mocks (~> 2.13.0)
ruby-hmac (0.4.0)
sass (3.2.9)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
shoulda-matchers (2.1.0)
activesupport (>= 3.0.0)
simple_oauth (0.2.0)
sprockets (2.2.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sqlite3 (1.3.7)
subexec (0.2.3)
therubyracer (0.11.4)
libv8 (~> 3.16.14.1)
ref
thor (0.18.1)
tilt (1.4.1)
tinymce-rails (3.5.8.2)
railties (>= 3.1.1)
treetop (1.4.14)
polyglot
polyglot (>= 0.3.1)
turn (0.8.2)
ansi (>= 1.2.2)
tzinfo (0.3.37)
uglifier (2.1.1)
execjs (>= 0.3.0)
multi_json (~> 1.0, >= 1.0.2)
unicorn (4.6.2)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
uuidtools (2.1.4)
warden (1.2.1)
rack (>= 1.0)
will_paginate (3.0.3)
xml-simple (1.1.2)
xpath (2.0.0)
nokogiri (~> 1.3)
youtube_it (2.3.1)
builder
excon (~> 0.22.1)
faraday (~> 0.8)
json (~> 1.8.0)
nokogiri (~> 1.5.2)
oauth (~> 0.4.4)
oauth2 (~> 0.6)
simple_oauth (>= 0.1.5)

PLATFORMS
ruby

DEPENDENCIES
activemerchant
airbrake
asset_sync
aws-sdk
aws-ses (~> 0.4.4)
capybara
carrierwave
coffee-rails
compass
contacts!
cucumber-rails
dalli
database_cleaner
devise
devise-encryptable
execjs
factory_girl_rails
georgedrummond-active_paypal_adaptive_payment
haml
haml-rails
has_permalink
hominid
httparty
jquery-rails
koala
less-rails
libv8 (~> 3.16.14.1)
mini_magick
newrelic_rpm
nokogiri
omniauth
omniauth-facebook
omniauth-identity
omniauth-linkedin
omniauth-twitter
paperclip
pg
rack (~> 1.1)

rails (= 3.2.13)
rails_atomic_increment
rake (= 10.0.4)
rspec-rails
sass-rails
shoulda-matchers
sqlite3
therubyracer (~> 0.11.4)
tinymce-rails
turn (= 0.8.2)
twitter-bootstrap-rails!
uglifier
unicorn
will_paginate (= 3.0.3)
youtube_it

@cowboyd
Owner

Matt,

Please remove libv8 from your Gemfile and rebundle.

@iGiveMore

Now I am getting a libv8 error when deploying to heroku. What next?

screen shot 2013-06-07 at 1 16 31 pm

@cowboyd
Owner

Matt,

I'm not sure what the problem is here because I use therubyracer on heroku in several applications. And I can see from your logs that it bundles successfully compiles on heroku.

The error you're seeing is happening on your local machine. Do you have some sort of post-deploy hook that could be failing?

In order to make sure, please remove all versions of libv8 from all gemsets, then rebundle your application and send me the new Gemfile and Gemfile.lock

@iGiveMore

I deploy to heroku using rake tasks. I have no problem deploying to staging, but deploying to production gives me the same therubyracer error that I showed you above. I am copying my rake deploy file too:

#Thanks to https://gist.github.com/362873

#Deploy and rollback on Heroku in staging and production
desc "Deploy new code to staging server without migration"
task :deploy_staging => ['deploy:set_staging_app', 'deploy:push', 'deploy:restart', 'deploy:tag']
desc "Deploy new code to production server without migration"
task :deploy_production => ['deploy:set_production_app', 'deploy:push', 'deploy:restart', 'deploy:tag']

namespace :deploy do
  PRODUCTION_APP = 'igivemore-production'
  STAGING_APP = 'igivemore-staging-c'

  task :test => [:set_staging_app, :off]

  desc "Deploy new code to staging server with migration"
  task :staging_migrations => [:set_staging_app, :push, :off, :migrate, :restart, :on, :tag]
  desc "Rollback to previous version in staging server"
  task :staging_rollback => [:set_staging_app, :off, :push_previous, :restart, :on]

  desc "Deploy new code to production server with migration"
  task :production_migrations => [:set_production_app, :push, :off, :migrate, :restart, :on, :tag]
  desc "Rollback to previous version in production server"
  task :production_rollback => [:set_production_app, :off, :push_previous, :restart, :on]

  task :set_staging_app do
    APP = STAGING_APP
  end

  task :set_production_app do
    APP = PRODUCTION_APP
  end

  task :push do
    puts 'Deploying site to Heroku ...'
    puts `git push -f git@heroku.com:#{APP}.git`
  end

  task :restart do
    puts 'Restarting app servers ...'
    puts `heroku restart --app #{APP}`
  end

  task :tag do
    release_name = "#{APP}_release-#{Time.now.utc.strftime("%Y%m%d%H%M%S")}"
    puts "Tagging release as '#{release_name}'"
    puts `git tag -a #{release_name} -m 'Tagged release'`
    puts `git push --tags git@heroku.com:#{APP}.git`
  end

  task :migrate do
    puts 'Running database migrations ...'
    puts `heroku run bundle exec rake db:migrate --app #{APP}`
  end

  task :off do
    puts 'Putting the app into maintenance mode ...'
    puts `heroku maintenance:on --app #{APP}`
  end

  task :on do
    puts 'Taking the app out of maintenance mode ...'
    puts `heroku maintenance:off --app #{APP}`
  end

  task :push_previous do
    prefix = "#{APP}_release-"
    releases = `git tag`.split("\n").select { |t| t[0..prefix.length-1] == prefix }.sort
    current_release = releases.last
    previous_release = releases[-2] if releases.length >= 2
    if previous_release
      puts "Rolling back to '#{previous_release}' ..."

      puts "Checking out '#{previous_release}' in a new branch on local git repo ..."
      puts `git checkout #{previous_release}`
      puts `git checkout -b #{previous_release}`

      puts "Removing tagged version '#{previous_release}' (now transformed in branch) ..."
      puts `git tag -d #{previous_release}`
      puts `git push git@heroku.com:#{APP}.git :refs/tags/#{previous_release}`

      puts "Pushing '#{previous_release}' to Heroku master ..."
      puts `git push git@heroku.com:#{APP}.git +#{previous_release}:master --force`

      puts "Deleting rollbacked release '#{current_release}' ..."
      puts `git tag -d #{current_release}`
      puts `git push git@heroku.com:#{APP}.git :refs/tags/#{current_release}`

      puts "Retagging release '#{previous_release}' in case to repeat this process (other rollbacks)..."
      puts `git tag -a #{previous_release} -m 'Tagged release'`
      puts `git push --tags git@heroku.com:#{APP}.git`

      puts "Turning local repo checked out on master ..."
      puts `git checkout master`
      puts 'All done!'
    else
      puts "No release tags found - can't roll back!"
      puts releases
    end
  end
  end

Gemfile

source 'http://rubygems.org'
ruby "1.9.3"

  gem 'rails', '3.2.13'
  gem 'nokogiri'
  gem 'rack', '~>1.1'


  gem 'haml'
  gem 'haml-rails', :group => :development


group :assets do
  gem 'compass'
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'uglifier'
  gem 'jquery-rails'
  gem 'execjs'
  gem 'less-rails'
  gem 'therubyracer', "~> 0.11.4", :platforms => :ruby
  gem "twitter-bootstrap-rails", :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'


# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To paginate ActiveRecord model on view
  gem 'will_paginate', '3.0.3'
end

group :test do
  gem 'turn', '0.8.2', :require => false
  gem 'database_cleaner'
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'cucumber-rails'
  gem 'capybara'
  gem 'shoulda-matchers'
end

group :development, :test do
  gem 'sqlite3'
end

group :production, :staging do
  gem 'airbrake'
  gem 'unicorn'
  gem 'pg'
  gem 'aws-sdk'
  gem "aws-ses", "~> 0.4.4", :require => 'aws/ses' # For emails
  gem 'newrelic_rpm'
end

# Error reporting
# gem 'airbrake'

# Asset compilation
gem 'asset_sync'

# Site specific gems
gem 'has_permalink'
gem 'contacts', :git=>"https://github.com/bridgeutopia/contacts.git", :ref => 'b6f47a5'
gem 'paperclip'

# Authentication and identity
gem 'devise'#, '1.1.3'
gem 'devise-encryptable'
gem 'omniauth'
gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-linkedin'
gem 'omniauth-identity'

# Integration
gem 'hominid'

# Payments
gem 'activemerchant' # paypal
#gem 'authorize-net'
gem 'georgedrummond-active_paypal_adaptive_payment'

# Social
gem 'koala' # facebook graph

# Caching
gem 'dalli'

# AB Testing Counter
gem 'rails_atomic_increment'

gem 'rake', '10.0.4'

gem 'tinymce-rails'
gem 'youtube_it'
#gem 'rdiscount', '2.0.7.2'
gem 'httparty'

gem 'carrierwave'
#gem 'carrierwave_direct'
gem 'mini_magick'

Gemfile.lock

GIT
remote: git://github.com/seyhunak/twitter-bootstrap-rails.git
revision: 0afff97ed0ce327688b0b049acc9744b3835ff37
specs:
  twitter-bootstrap-rails (2.2.7)
    actionpack (>= 3.1)
    execjs
    rails (>= 3.1)
    railties (>= 3.1)

GIT
remote: https://github.com/bridgeutopia/contacts.git
revision: b6f47a54ae63a1428bc9914e39cc95dae8526561
ref: b6f47a5
specs:
  contacts (1.2.4)
    gdata-19 (>= 1.1.2)
    json (>= 1.1.1)
    nokogiri (>= 1.4.0)

GEM
remote: http://rubygems.org/
specs:
  actionmailer (3.2.13)
    actionpack (= 3.2.13)
    mail (~> 2.5.3)
  actionpack (3.2.13)
    activemodel (= 3.2.13)
    activesupport (= 3.2.13)
    builder (~> 3.0.0)
    erubis (~> 2.7.0)
    journey (~> 1.0.4)
    rack (~> 1.4.5)
    rack-cache (~> 1.2)
    rack-test (~> 0.6.1)
    sprockets (~> 2.2.1)
  active_utils (1.0.5)
    activesupport (>= 2.3.11)
    i18n
  activemerchant (1.33.0)
    active_utils (>= 1.0.2)
    activesupport (>= 2.3.14)
    builder (>= 2.0.0)
    i18n
    json (>= 1.5.1)
    money
    nokogiri
  activemodel (3.2.13)
    activesupport (= 3.2.13)
    builder (~> 3.0.0)
  activerecord (3.2.13)
    activemodel (= 3.2.13)
    activesupport (= 3.2.13)
    arel (~> 3.0.2)
    tzinfo (~> 0.3.29)
  activeresource (3.2.13)
    activemodel (= 3.2.13)
    activesupport (= 3.2.13)
  activesupport (3.2.13)
    i18n (= 0.6.1)
    multi_json (~> 1.0)
  addressable (2.3.4)
  airbrake (3.1.12)
    activesupport
    builder
    json
  ansi (1.4.3)
  arel (3.0.2)
  asset_sync (0.5.4)
    activemodel
    fog
  aws-sdk (1.11.0)
    json (~> 1.4)
    nokogiri (>= 1.4.4)
    uuidtools (~> 2.1)
  aws-ses (0.4.4)
    builder
    mail (> 2.2.5)
    mime-types
    xml-simple
  bcrypt-ruby (3.0.1)
  builder (3.0.4)
  capybara (2.1.0)
    mime-types (>= 1.16)
    nokogiri (>= 1.3.3)
    rack (>= 1.0.0)
    rack-test (>= 0.5.4)
    xpath (~> 2.0)
  carrierwave (0.8.0)
    activemodel (>= 3.2.0)
    activesupport (>= 3.2.0)
  chunky_png (1.2.8)
  climate_control (0.0.3)
    activesupport (>= 3.0)
  cocaine (0.5.1)
    climate_control (>= 0.0.3, < 1.0)
  coffee-rails (3.2.2)
    coffee-script (>= 2.2.0)
    railties (~> 3.2.0)
  coffee-script (2.2.0)
    coffee-script-source
    execjs
  coffee-script-source (1.6.2)
  commonjs (0.2.6)
  compass (0.12.2)
    chunky_png (~> 1.2)
    fssm (>= 0.2.7)
    sass (~> 3.1)
  cucumber (1.3.2)
    builder (>= 2.1.2)
    diff-lcs (>= 1.1.3)
    gherkin (~> 2.12.0)
    multi_json (~> 1.3)
  cucumber-rails (1.3.1)
    capybara (>= 1.1.2)
    cucumber (>= 1.2.0)
    nokogiri (>= 1.5.0)
    rails (~> 3.0)
  dalli (2.6.4)
  database_cleaner (1.0.1)
  devise (2.2.4)
    bcrypt-ruby (~> 3.0)
    orm_adapter (~> 0.1)
    railties (~> 3.1)
    warden (~> 1.2.1)
  devise-encryptable (0.1.2)
    devise (>= 2.1.0)
  diff-lcs (1.2.4)
  erubis (2.7.0)
  excon (0.22.1)
  execjs (1.4.0)
    multi_json (~> 1.0)
  factory_girl (4.2.0)
    activesupport (>= 3.0.0)
  factory_girl_rails (4.2.1)
    factory_girl (~> 4.2.0)
    railties (>= 3.0.0)
  faraday (0.8.7)
    multipart-post (~> 1.1)
  fog (1.11.1)
    builder
    excon (~> 0.20)
    formatador (~> 0.2.0)
    json (~> 1.7)
    mime-types
    net-scp (~> 1.1)
    net-ssh (>= 2.1.3)
    nokogiri (~> 1.5.0)
    ruby-hmac
  formatador (0.2.4)
  fssm (0.2.10)
  gdata-19 (1.1.2)
  georgedrummond-active_paypal_adaptive_payment (0.3.9)
    activemerchant (>= 1.5.1)
    hashie (>= 1.2.0)
    mocha (>= 0.10.0)
    money (>= 3.6.0)
    multi_json (>= 1.0.0)
  gherkin (2.12.0)
    multi_json (~> 1.3)
  haml (4.0.3)
    tilt
  haml-rails (0.4)
    actionpack (>= 3.1, < 4.1)
    activesupport (>= 3.1, < 4.1)
    haml (>= 3.1, < 4.1)
    railties (>= 3.1, < 4.1)
  has_permalink (0.1.6)
  hashie (2.0.5)
  hike (1.2.3)
  hominid (3.0.5)
  httparty (0.11.0)
    multi_json (~> 1.0)
    multi_xml (>= 0.5.2)
  httpauth (0.2.0)
  i18n (0.6.1)
  journey (1.0.4)
  jquery-rails (3.0.0)
    railties (>= 3.0, < 5.0)
    thor (>= 0.14, < 2.0)
  json (1.8.0)
  jwt (0.1.8)
    multi_json (>= 1.5)
  kgio (2.8.0)
  koala (1.6.0)
    addressable (~> 2.2)
    faraday (~> 0.8)
    multi_json (~> 1.3)
  less (2.3.2)
    commonjs (~> 0.2.6)
  less-rails (2.3.3)
    actionpack (>= 3.1)
    less (~> 2.3.1)
  mail (2.5.4)
    mime-types (~> 1.16)
    treetop (~> 1.4.8)
  metaclass (0.0.1)
  mime-types (1.23)
  mini_magick (3.6.0)
    subexec (~> 0.2.1)
  mocha (0.14.0)
    metaclass (~> 0.0.1)
  money (5.1.1)
    i18n (~> 0.6.0)
  multi_json (1.7.6)
  multi_xml (0.5.4)
  multipart-post (1.2.0)
  net-scp (1.1.1)
    net-ssh (>= 2.6.5)
  net-ssh (2.6.7)
  newrelic_rpm (3.6.3.111)
  nokogiri (1.5.9)
  oauth (0.4.7)
  oauth2 (0.8.1)
    faraday (~> 0.8)
    httpauth (~> 0.1)
    jwt (~> 0.1.4)
    multi_json (~> 1.0)
    rack (~> 1.2)
  omniauth (1.1.4)
    hashie (>= 1.2, < 3)
    rack
  omniauth-facebook (1.4.1)
    omniauth-oauth2 (~> 1.1.0)
  omniauth-identity (1.1.0)
    bcrypt-ruby (~> 3.0)
    omniauth (~> 1.0)
  omniauth-linkedin (0.1.0)
    omniauth-oauth (~> 1.0)
  omniauth-oauth (1.0.1)
    oauth
    omniauth (~> 1.0)
  omniauth-oauth2 (1.1.1)
    oauth2 (~> 0.8.0)
    omniauth (~> 1.0)
  omniauth-twitter (0.0.16)
    multi_json (~> 1.3)
    omniauth-oauth (~> 1.0)
  orm_adapter (0.4.0)
  paperclip (3.4.2)
    activemodel (>= 3.0.0)
    activerecord (>= 3.0.0)
    activesupport (>= 3.0.0)
    cocaine (~> 0.5.0)
    mime-types
  pg (0.15.1)
  polyglot (0.3.3)
  rack (1.4.5)
  rack-cache (1.2)
    rack (>= 0.4)
  rack-ssl (1.3.3)
    rack
  rack-test (0.6.2)
    rack (>= 1.0)
  rails (3.2.13)
    actionmailer (= 3.2.13)
    actionpack (= 3.2.13)
    activerecord (= 3.2.13)
    activeresource (= 3.2.13)
    activesupport (= 3.2.13)
    bundler (~> 1.0)
    railties (= 3.2.13)
  rails_atomic_increment (0.2)
    rails (> 2)
  railties (3.2.13)
    actionpack (= 3.2.13)
    activesupport (= 3.2.13)
    rack-ssl (~> 1.3.2)
    rake (>= 0.8.7)
    rdoc (~> 3.4)
    thor (>= 0.14.6, < 2.0)
  raindrops (0.11.0)
  rake (10.0.4)
  rdoc (3.12.2)
    json (~> 1.4)
  ref (1.0.5)
  rspec-core (2.13.1)
  rspec-expectations (2.13.0)
    diff-lcs (>= 1.1.3, < 2.0)
  rspec-mocks (2.13.1)
  rspec-rails (2.13.2)
    actionpack (>= 3.0)
    activesupport (>= 3.0)
    railties (>= 3.0)
    rspec-core (~> 2.13.0)
    rspec-expectations (~> 2.13.0)
    rspec-mocks (~> 2.13.0)
  ruby-hmac (0.4.0)
  sass (3.2.9)
  sass-rails (3.2.6)
    railties (~> 3.2.0)
    sass (>= 3.1.10)
    tilt (~> 1.3)
  shoulda-matchers (2.1.0)
    activesupport (>= 3.0.0)
  simple_oauth (0.2.0)
  sprockets (2.2.2)
    hike (~> 1.2)
    multi_json (~> 1.0)
    rack (~> 1.0)
    tilt (~> 1.1, != 1.3.0)
  sqlite3 (1.3.7)
  subexec (0.2.3)
  therubyracer (0.11.4)
    ref
  thor (0.18.1)
  tilt (1.4.1)
  tinymce-rails (3.5.8.2)
    railties (>= 3.1.1)
  treetop (1.4.14)
    polyglot
    polyglot (>= 0.3.1)
  turn (0.8.2)
    ansi (>= 1.2.2)
  tzinfo (0.3.37)
  uglifier (2.1.1)
    execjs (>= 0.3.0)
    multi_json (~> 1.0, >= 1.0.2)
  unicorn (4.6.2)
    kgio (~> 2.6)
    rack
    raindrops (~> 0.7)
  uuidtools (2.1.4)
  warden (1.2.1)
    rack (>= 1.0)
  will_paginate (3.0.3)
  xml-simple (1.1.2)
  xpath (2.0.0)
    nokogiri (~> 1.3)
  youtube_it (2.3.1)
    builder
    excon (~> 0.22.1)
    faraday (~> 0.8)
    json (~> 1.8.0)
    nokogiri (~> 1.5.2)
    oauth (~> 0.4.4)
    oauth2 (~> 0.6)
    simple_oauth (>= 0.1.5)

PLATFORMS
ruby

DEPENDENCIES
activemerchant
airbrake
asset_sync
aws-sdk
aws-ses (~> 0.4.4)
capybara
carrierwave
coffee-rails
compass
contacts!
cucumber-rails
dalli
database_cleaner
devise
devise-encryptable
execjs
factory_girl_rails
georgedrummond-active_paypal_adaptive_payment
haml
haml-rails
has_permalink
hominid
httparty
jquery-rails
koala
less-rails
mini_magick
newrelic_rpm
nokogiri
omniauth
omniauth-facebook
omniauth-identity
omniauth-linkedin
omniauth-twitter
paperclip
pg
rack (~> 1.1)
rails (= 3.2.13)
rails_atomic_increment
rake (= 10.0.4)
rspec-rails
sass-rails
shoulda-matchers
sqlite3
therubyracer (~> 0.11.4)
tinymce-rails
turn (= 0.8.2)
twitter-bootstrap-rails!
uglifier
unicorn
will_paginate (= 3.0.3)
youtube_it

@phortx phortx referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@phortx phortx referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@phortx phortx referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@systemed systemed referenced this issue from a commit in systemed/openstreetmap-website
@tomhughes tomhughes Stick with therubyracer 0.10.x for now
The 0.11.x release is a complete mess, as amply documented in the github
issue tracker (cowboyd/therubyracer#215).
6bd16d5
@rachlbrown rachlbrown referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@rachlbrown rachlbrown referenced this issue from a commit
Commit has since been removed from the repository and is no longer available.
@bklang bklang referenced this issue from a commit in mojolingo/errbit
@bklang bklang Work around libv8 build issues on 64 bit 4db002b
@veloper

If anyone runs into this issue on Mac OS 10.10 try the following steps -- they worked for me.

  1. Download & install the latest command line tools: https://developer.apple.com/downloads/index.action?=command%20line%20tools
  2. brew install v8
  3. Remove gem libv8 from your Gemfile
  4. Change therubyracer version to 0.12.1 in your Gemfile
  5. bundle update therubyracer
@bklang bklang referenced this issue from a commit in mojolingo/errbit
@bklang bklang Work around libv8 build issues on 64 bit 12e4627
@chrisan

Thanks @veloper that worked for me on 10.10.2

@indiesquidge

Many thanks @veloper, it worked for me as well (10.10.2).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.