Closed clark800 closed 9 years ago
This looks like an issue with the libv8 gem. We're collecting feedback in https://github.com/cowboyd/libv8/issues/98.
I've just hit the same problem on SunOS/SmartOS with a system V8. The following patch fixes it for me.
--- ext/v8/extconf.rb.orig 2014-01-23 11:49:29.626635920 +0000
+++ ext/v8/extconf.rb
@@ -2,6 +2,7 @@ require 'mkmf'
have_library('pthread')
have_library('objc') if RUBY_PLATFORM =~ /darwin/
+have_library('v8')
$CPPFLAGS += " -Wall" unless $CPPFLAGS.split.include? "-Wall"
$CPPFLAGS += " -g" unless $CPPFLAGS.split.include? "-g"
$CPPFLAGS += " -rdynamic" unless $CPPFLAGS.split.include? "-rdynamic"
Let me know if you don't feel it's the same issue, but I just don't see how therubyracer would ever work with a system shared libv8.so otherwise. Might need some conditioning for cases where v8 is not provided by the system, and you'd know better; for my purposes (pkgsrc/SmartOS) though no other scenario applies.
This should have been resolved with 3.14.16.x
I'm trying to install Gitlab on an ARM5 system running Arch Linux ARM. The libv8 gem build fails with the default settings, so I built V8 version 3.11.8 from source and copied it to the system location at /usr/lib/libv8.so. I also copied the executable to /usr/bin/d8, and the headers to /usr/include. Then I built libv8 using
and manually copied it into the bundle (the bundle install of the libv8 gem fails with a "NoMethodError: undefined method `size' for nil:NilClass" even with the "bundle config build.libv8 --with-system-v8" option). Then the bundle install succeeded. But when I try to do a bundle exec, therubyracer fails due to a missing symbol. The symbol is in the system's libv8.so, so it seems that libv8.so is not being loaded. Here is an excerpt from my console.
And from "gem env":
The bundler version is 1.3.5.