Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

libv8 3.16.14.9 breaks build on travis #174

Closed
maxmeyer opened this issue Jun 28, 2015 · 7 comments
Closed

libv8 3.16.14.9 breaks build on travis #174

maxmeyer opened this issue Jun 28, 2015 · 7 comments

Comments

@maxmeyer
Copy link

Hi,

using libv8 3.16.14.9 on travis breaks a build. Using libv8 3.16.14.7 does not break the build. I'm not sure if it's the fault of libv8, but at least it seems to be a fix to use an older version of the library. The Gemfile can be found here. The Gemfile.lock is only available on travis. It is not part of the build. Any other information you need to help me?

The the log can be found here. It segfaults:

CSS and Javascripts which are minify shouldn't be re-minified .../home/travis/.rvm/gems/ruby-2.2.0/gems/therubyracer-0.12.2/lib/v8/context.rb:99: [BUG] Segmentation fault at 0x00000000000000

ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-linux]
@atz
Copy link

atz commented Jun 29, 2015

👍
It's not just Travis. On my local (OSX Yosemite) system I get errors even trying to compile libv8 3.16.14.9:

gem install libv8 -v '3.16.14.9'
Building native extensions.  This could take a while...
ERROR:  Error installing libv8:
    ERROR: Failed to build gem native extension.

    /Users/atz/.rvm/rubies/ruby-1.9.3-p547/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.6
Using compiler: /usr/bin/c++ (clang version 6.1.0)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: file: /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o has no symbols
In file included from ../src/accessors.cc:28:
In file included from ../src/v8.h:60:
In file included from ../src/objects-inl.h:38:
In file included from ../src/elements.h:33:
In file included from ../src/heap.h:35:
In file included from ../src/incremental-marking.h:33:
In file included from ../src/mark-compact.h:32:
../src/spaces.h:896:26: error: 'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to true [-Werror,-Wtautological-undefined-compare]
  bool exists() { return this != NULL && code_range_ != NULL; }
                         ^~~~    ~~~~
../src/spaces.h:898:9: error: 'this' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to false [-Werror,-Wtautological-undefined-compare]
    if (this == NULL || code_range_ == NULL) return false;
        ^~~~    ~~~~
2 errors generated.
make[1]: *** [/Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/v8_base/src/accessors.o] Error 1
make: *** [x64.release] Error 2
/Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
    from /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/ext/libv8/location.rb:35:in `each'
    from /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/ext/libv8/location.rb:35:in `verify_installation!'
    from /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/ext/libv8/location.rb:26:in `install!'
    from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
    build/gyp/gyp --generator-output="out" build/all.gyp \
                  -Ibuild/standalone.gypi --depth=. \
                  -Dv8_target_arch=x64 \
                  -S.x64  -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3 -Dwerror=''
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
  LIBTOOL-STATIC /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/libpreparser_lib.a
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/preparser/preparser/preparser-process.o
  LINK(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/preparser
  CXX(target) /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9/vendor/v8/out/x64.release/obj.target/v8_base/src/accessors.o

extconf failed, exit code 1

Gem files will remain installed in /Users/atz/.rvm/gems/ruby-1.9.3-p547/gems/libv8-3.16.14.9 for inspection.
Results logged to /Users/atz/.rvm/gems/ruby-1.9.3-p547/extensions/x86_64-darwin-13/1.9.1/libv8-3.16.14.9/gem_make.out

Happens on ruby 1.9.3-p547 and 2.1.2.

Gem version 3.16.14.7 still works fine. Error suggests spaces.h is performing bogus comparison.

@cowboyd
Copy link
Collaborator

cowboyd commented Jun 30, 2015

I've yanked this version of the gem until I can find out what's going on.

@cowboyd cowboyd closed this as completed Jun 30, 2015
@cowboyd
Copy link
Collaborator

cowboyd commented Jun 30, 2015

@atz I still cannot understand why rubygems is not matching yosemite to the binary gem 😠 You should not be having to ever compile libv8 for yourself.

@ignisf
Copy link
Collaborator

ignisf commented Jun 30, 2015

@cowboyd take a look at rubyjs/therubyracer#316 (comment)

@maxmeyer
Copy link
Author

Thanks a lot. @ignisf I didn't found the *.h-file you mentioned in the travis output. Maybe you've got a different problem than me?

@atz
Copy link

atz commented Jun 30, 2015

@cowboyd dunno, RubyGems version was 2.2.2.

@cowboyd
Copy link
Collaborator

cowboyd commented Jun 30, 2015

fwiw, I've opened this rubygems/rubygems#1299

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants