rubyjs / libv8

Ruby gem binary distribution of the V8 JavaScript engine
269 stars 121 forks source link

Libv8 doesn't build on Raspberry PI #234

Closed hipcrime closed 7 years ago

hipcrime commented 7 years ago

An installation of BEEF fails because libv8 will not build. Any help would be appreciated ... here's what happened:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory: /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/ext/libv8

/usr/local/rvm/rubies/ruby-2.3.3/bin/ruby -r ./siteconf20170312-4163-152n5h4.rb extconf.rb creating Makefile Compiling v8 for ia32 Using python 2.7.3 Using compiler: /usr/bin/g++ In file included from ../src/allocation.h:31:0, from ../src/allocation.cc:28: ../src/globals.h:113:2: error: #error Target architecture ia32 is only supported on ia32 host make[1]: [/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o] Error 1 make: [ia32.release] Error 2 /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:36:in block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound) from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:ineach' from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:35:in verify_installation!' from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/ext/libv8/location.rb:26:ininstall!' from extconf.rb:7:in `

' GYP_GENERATORS=make \ build/gyp/gyp --generator-output="out" build/all.gyp \ -Ibuild/standalone.gypi --depth=. \ -Dv8_target_arch=ia32 \ -S.ia32 -Dv8_can_use_vfp_instructions=false -Dv8_use_arm_eabi_hardfloat=true make[1]: Entering directory '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out' CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o tools/gyp/preparser_lib.target.ia32.mk:103: recipe for target '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out/ia32.release/obj.target/preparser_lib/src/allocation.o' failed make[1]: Leaving directory '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17/vendor/v8/out' Makefile:159: recipe for target 'ia32.release' failed

extconf failed, exit code 1

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.11.8.17 for inspection. Results logged to /usr/local/rvm/gems/ruby-2.3.3/extensions/armv6l-linux/2.3.0/libv8-3.11.8.17/gem_make.out

An error occurred while installing libv8 (3.11.8.17), and Bundler cannot continue. Make sure that gem install libv8 -v '3.11.8.17' succeeds before bundling.

ignisf commented 7 years ago

Could you please post the output of ruby -e "puts RbConfig::MAKEFILE_CONFIG['build_cpu']"?

ignisf commented 7 years ago

Also, @hipcrime, what distro are you running on said Pi and what version of the Pi is it?

ignisf commented 7 years ago

@hipcrime ping :)

hipcrime commented 7 years ago

$ ruby -e "puts RbConfig::MAKEFILE_CONFIG['build_cpu']" armv6l

hipcrime commented 7 years ago

$ cat /proc/cpuinfo processor : 0 model name : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 2.00 Features : half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7

Hardware : BCM2708 Revision : 000f Serial : 0000000054d8211d

hipcrime commented 7 years ago

Model B Rev 2

hipcrime commented 7 years ago

Raspian Wheezy

hipcrime commented 7 years ago

$ uname -a Linux 4.1.19+ #858 Tue Mar 15 15:52:03 GMT 2016 armv6l GNU/Linux

ignisf commented 7 years ago

I did not notice which version of libv8 you were trying to install. v3.11 is absolutely ancient, please try to update.

hipcrime commented 7 years ago

Ran again using directions from GitHub. Running as 'root' in a last ditch attempt to get this to work.

Note that the failure is "Unsupported target: armv6l"

Here are the full details:

[~]$ git clone --recursive git://github.com/cowboyd/libv8.git
Cloning into 'libv8'...
remote: Counting objects: 3176, done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 3176 (delta 2), reused 0 (delta 0), pack-reused 3164
Receiving objects: 100% (3176/3176), 16.80 MiB | 1.07 MiB/s, done.
Resolving deltas: 100% (1462/1462), done.
Submodule 'vendor/depot_tools' (https://chromium.googlesource.com/chromium/tools/depot_tools.git) registered for path 'vendor/depot_tools'
Cloning into 'vendor/depot_tools'...
remote: Sending approximately 23.43 MiB ...
remote: Total 19696 (delta 12640), reused 19696 (delta 12640)
Receiving objects: 100% (19696/19696), 23.43 MiB | 422 KiB/s, done.
Resolving deltas: 100% (12640/12640), done.
Submodule path 'vendor/depot_tools': checked out 'c5b4af697b4018fe31806c687255971fd5124aa3'
$ cd libv8
[~/libv8]$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/.
Resolving dependencies.....
Using rake 11.3.0
Using diff-lcs 1.3
Using libv8 5.6.326.50.0beta1 from source at `.`
Using rspec-support 3.5.0
Using bundler 1.14.6
Using rake-compiler 0.9.9
Using rspec-core 3.5.4
Using rspec-expectations 3.5.0
Using rspec-mocks 3.5.0
Using rspec 3.5.0
Bundle complete! 4 Gemfile dependencies, 10 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
[~/libv8]$ bundle exec rake compile
ruby ext/libv8/extconf.rb
creating Makefile
Running: gclient root
Running: gclient config --spec 'solutions = [
  {
    "url": "https://chromium.googlesource.com/v8/v8.git",
    "managed": False,
    "name": "v8",
    "deps_file": "DEPS",
    "custom_deps": {},
  },
]
'
Running: gclient sync --with_branch_heads
Running: git submodule foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all'
Running: git config --add remote.origin.fetch '+refs/tags/*:refs/tags/*'
Running: git config diff.ignoreSubmodules all
Checking out files: 100% (2821/2821), done.
Previous HEAD position was be6b9f9... Update V8 DEPS.
HEAD is now at d2f8b84... Version 5.6.326.50
Syncing projects: 100% (21/21), done.

________ running '/usr/bin/python v8/gypfiles/landmines.py' in '/root/libv8/vendor'
Clobbering due to:
--- old_landmines   Wed Mar 15 17:56:39 2017
+++ new_landmines   Wed Mar 15 18:17:26 2017
@@ -17 +16,0 @@
-Clobber for http://crbug.com/668958.

________ running 'download_from_google_storage --no_resume --platform=win32 --no_auth --bucket chromium-clang-format -s v8/buildtools/win/clang-format.exe.sha1' in '/root/libv8/vendor'
The current platform doesn't match "win32", skipping.

________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s v8/buildtools/mac/clang-format.sha1' in '/root/libv8/vendor'
The current platform doesn't match "darwin", skipping.

________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-clang-format -s v8/buildtools/linux64/clang-format.sha1' in '/root/libv8/vendor'
0> Downloading v8/buildtools/linux64/clang-format...
Success!
Downloading 1 files took 100.199538 second(s)
Hook 'download_from_google_storage --no_resume '--platform=linux*' --no_auth --bucket chromium-clang-format -s v8/buildtools/linux64/clang-format.sha1' took 100.95 secs

________ running '/usr/bin/python v8/tools/gcmole/download_gcmole_tools.py' in '/root/libv8/vendor'
Skipping gcmole download as gcmole is not set in gyp flags.

________ running '/usr/bin/python v8/tools/jsfunfuzz/download_jsfunfuzz.py' in '/root/libv8/vendor'
Skipping jsfunfuzz download as jsfunfuzz is not set in gyp flags.

________ running 'download_from_google_storage --no_resume --platform=win32 --no_auth --bucket chromium-luci -d v8/tools/luci-go/win64' in '/root/libv8/vendor'
The current platform doesn't match "win32", skipping.

________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-luci -d v8/tools/luci-go/mac64' in '/root/libv8/vendor'
The current platform doesn't match "darwin", skipping.

________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-luci -d v8/tools/luci-go/linux64' in '/root/libv8/vendor'
0> Downloading v8/tools/luci-go/linux64/isolate...
Success!
Downloading 1 files took 97.039484 second(s)
Hook 'download_from_google_storage --no_resume '--platform=linux*' --no_auth --bucket chromium-luci -d v8/tools/luci-go/linux64' took 97.78 secs

________ running 'download_from_google_storage --no_resume --platform=win32 --no_auth --bucket chromium-gn -s v8/buildtools/win/gn.exe.sha1' in '/root/libv8/vendor'
The current platform doesn't match "win32", skipping.

________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-gn -s v8/buildtools/mac/gn.sha1' in '/root/libv8/vendor'
The current platform doesn't match "darwin", skipping.

________ running 'download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-gn -s v8/buildtools/linux64/gn.sha1' in '/root/libv8/vendor'
0> Downloading v8/buildtools/linux64/gn...
Success!
Downloading 1 files took 83.487984 second(s)
Hook 'download_from_google_storage --no_resume '--platform=linux*' --no_auth --bucket chromium-gn -s v8/buildtools/linux64/gn.sha1' took 84.23 secs

________ running 'download_from_google_storage --no_resume --no_auth -u --bucket v8-wasm-fuzzer -s v8/test/fuzzer/wasm.tar.gz.sha1' in '/root/libv8/vendor'
0> File v8/test/fuzzer/wasm.tar.gz exists and SHA1 matches. Skipping.
Success!
Downloading 1 files took 0.024882 second(s)

________ running 'download_from_google_storage --no_resume --no_auth -u --bucket v8-wasm-asmjs-fuzzer -s v8/test/fuzzer/wasm_asmjs.tar.gz.sha1' in '/root/libv8/vendor'
0> File v8/test/fuzzer/wasm_asmjs.tar.gz exists and SHA1 matches. Skipping.
Success!
Downloading 1 files took 0.019658 second(s)

________ running 'download_from_google_storage --no_resume --no_auth -u --bucket chromium-v8-closure-compiler -s v8/src/inspector/build/closure-compiler.tar.gz.sha1' in '/root/libv8/vendor'
0> File v8/src/inspector/build/closure-compiler.tar.gz exists and SHA1 matches. Skipping.
Success!
Downloading 1 files took 0.440371 second(s)

________ running '/usr/bin/python v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' in '/root/libv8/vendor'
Installing Debian Wheezy arm root image: /root/libv8/vendor/v8/build/linux/debian_wheezy_arm-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/7d200a1ddfeb50dbf9f7e2c1c4ff1080679edf02/debian_wheezy_arm_sysroot.tgz
Installing Debian Precise amd64 root image: /root/libv8/vendor/v8/build/linux/ubuntu_precise_amd64-sysroot
Downloading https://commondatastorage.googleapis.com/chrome-linux-sysroot/toolchain/7d200a1ddfeb50dbf9f7e2c1c4ff1080679edf02/ubuntu_precise_amd64_sysroot.tgz
Hook '/usr/bin/python v8/build/linux/sysroot_scripts/install-sysroot.py --running-as-hook' took 416.04 secs

________ running '/usr/bin/python v8/third_party/instrumented_libraries/scripts/download_binaries.py' in '/root/libv8/vendor'
Hook '/usr/bin/python v8/third_party/instrumented_libraries/scripts/download_binaries.py' took 11.14 secs

________ running '/usr/bin/python v8/gypfiles/vs_toolchain.py update' in '/root/libv8/vendor'

________ running '/usr/bin/python v8/third_party/binutils/download.py' in '/root/libv8/vendor'

________ running '/usr/bin/python v8/gypfiles/download_gold_plugin.py' in '/root/libv8/vendor'
Skipping gold plugin download for non-cfi build.

________ running '/usr/bin/python v8/tools/clang/scripts/update.py --if-needed' in '/root/libv8/vendor'
Updating Clang to 283753-1...
Downloading prebuilt clang
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Linux_x64/clang-283753-1.tgz .......... Done.
Creating directory /root/libv8/vendor/v8/third_party/llvm-build/Release+Asserts
clang 283753-1 unpacked
Hook '/usr/bin/python v8/tools/clang/scripts/update.py --if-needed' took 92.01 secs

________ running '/usr/bin/python v8/gypfiles/gyp_v8 --running-as-hook' in '/root/libv8/vendor'
GYP is now disabled by default in runhooks.

If you really want to run this, either run
`python gypfiles/gyp_v8` explicitly by hand
or set the environment variable GYP_CHROMIUM_NO_ACTION=0.

WARNING: 'v8/test/wasm-js' is no longer part of this client.  It is recommended that you manually remove it.

Applying /root/libv8/patches/0001-Build-a-standalone-static-library.patch
Applying /root/libv8/patches/0002-Don-t-compile-unnecessary-stuff.patch
Applying /root/libv8/patches/0003-Use-the-fPIC-flag-for-the-static-library.patch
Applying /root/libv8/patches/0004-Do-not-embed-debug-symbols-in-macOS-libraries.patch
Unsupported target: armv6l
Compiling v8 for armv6l
Using python 2.7.3
Using compiler: g++ (GCC version 4.6.3)
Unable to find a compiler officially supported by v8.
It is recommended to use clang v3.5 or GCC v4.8 or higher
Beginning compilation. This will take some time.
Unsupported target: armv6l
Building v8 with env CXX=g\+\+ /usr/bin/make armv6l.release i18nsupport=off werror=no GYP_DEFINES="v8_use_external_startup_data=0 clang=0"
make: *** No rule to make target 'armv6l.release'.  Stop.
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
Unsupported target: armv6l
/root/libv8/ext/libv8/location.rb:41:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/root/libv8/vendor/v8/out/armv6l.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
    from /root/libv8/ext/libv8/location.rb:40:in `each'
    from /root/libv8/ext/libv8/location.rb:40:in `verify_installation!'
    from /root/libv8/ext/libv8/location.rb:26:in `install!'
    from ext/libv8/extconf.rb:7:in `<main>'
rake aborted!
Command failed with status (1): [ruby ext/libv8/extconf.rb...]
/root/libv8/Rakefile:22:in `block in <top (required)>'
/usr/local/rvm/gems/ruby-2.3.3/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.3.3/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => compile
(See full trace by running task with --trace)
ignisf commented 7 years ago

Hey, thank you for taking the time to debug this. Could paste the Gemfile of the application you're attempting to run?

hipcrime commented 7 years ago
# BeEF's Gemfile

#
# Copyright (c) 2006-2017 Wade Alcorn - wade@bindshell.net
# Browser Exploitation Framework (BeEF) - http://beefproject.com
# See the file 'doc/COPYING' for copying permission
#

gem 'eventmachine'
gem 'thin'
gem 'sinatra'
gem 'rack'
gem 'em-websocket' # WebSocket support
gem 'uglifier'
gem 'mime-types'

# Windows support
if RUBY_PLATFORM.downcase.include?('mswin') || RUBY_PLATFORM.downcase.include?('mingw')
  # make sure you install this gem following https://github.com/eakmotion/therubyracer_for_windows
  gem 'therubyracer', '~> 0.11.0beta1'
elsif !RUBY_PLATFORM.downcase.include?('darwin')
  gem 'therubyracer', '0.11.3'
end

gem 'execjs'
gem 'ansi'
gem 'term-ansicolor', :require => 'term/ansicolor'
gem 'dm-core'
gem 'json'
gem 'data_objects'
gem 'rubyzip', '>= 1.0.0'
gem 'espeak-ruby', '>= 1.0.3' # Text-to-Voice

# SQLite support
group :sqlite do
  gem 'dm-sqlite-adapter'
end

# PostgreSQL support
group :postgres do
  #gem dm-postgres-adapter
end

# MySQL support
group :mysql do
  #gem dm-mysql-adapter
end

# Geolocation support
group :geoip do
  gem 'geoip'
end

gem 'parseconfig'
gem 'erubis'
gem 'dm-migrations'

# Metasploit Integration extension
group :ext_msf do
  gem 'msfrpc-client'
end

# Twitter Notifications extension
group :ext_twitter do
  #gem 'twitter', '>= 5.0.0'
end

# DNS extension
group :ext_dns do
  gem 'rubydns', '~> 0.7.3'
end

# network extension
group :ext_network do
  gem 'dm-serializer'
end

# QRcode extension
group :ext_qrcode do
  gem 'qr4r'
end

# For running unit tests
group :test do
if ENV['BEEF_TEST']
  gem 'test-unit'
  gem 'test-unit-full'
  gem 'curb'
  gem 'selenium'
  gem 'selenium-webdriver'
  gem 'rspec'
  gem 'bundler-audit'
  # nokogirl is needed by capybara which may require one of the below commands
  # sudo apt-get install libxslt-dev libxml2-dev
  # sudo port install libxml2 libxslt
  gem 'capybara'
  # RESTful API tests/generic command module tests
  gem 'rest-client', '>= 1.8.0'
end
end

source 'https://rubygems.org'
ignisf commented 7 years ago
# Windows support
if RUBY_PLATFORM.downcase.include?('mswin') || RUBY_PLATFORM.downcase.include?('mingw')
  # make sure you install this gem following https://github.com/eakmotion/therubyracer_for_windows
  gem 'therubyracer', '~> 0.11.0beta1'
elsif !RUBY_PLATFORM.downcase.include?('darwin')
  gem 'therubyracer', '0.11.3'
end

There's your problem. therubyracer 0.11.3 is super old. You should try to either drop the hardcoded version and update your bundle or remove the snippet I pasted entirely and install nodejs from your package manager.

FYI therubyracer 0.11.3 was released in January 2013 and Raspberry Pi model A was released in February that year.

ignisf commented 7 years ago

I've opened up these two corresponding issues ^

hipcrime commented 7 years ago

Still won't build; but at least it tries to compile and then dies with a different error which is "Illegal instruction" ... here are the details:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/ext/libv8
/usr/local/rvm/rubies/ruby-2.3.3/bin/ruby -r ./siteconf20170316-2820-qftc9m.rb extconf.rb
creating Makefile
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/disable-building-tests.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/disable-werror-on-osx.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/disable-xcode-debugging.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/do-not-imply-vfp3-and-armv7.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/do-not-use-MAP_NORESERVE-on-freebsd.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/do-not-use-vfp2.patch
Applying /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/patches/fPIC-for-static.patch
Compiling v8 for arm
Using python 2.7.3
Using compiler: c++ (GCC version 4.6.3)
Beginning compilation. This will take some time.
Building v8 with env CXX=c++ LINK=c++  /usr/bin/make arm.release vfp2=off vfp3=on hardfp=on ARFLAGS.target=crs werror=no
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
              -Ibuild/standalone.gypi --depth=. \
              -Dv8_target_arch=arm \
-S.arm  -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=false -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3 -Dwerror=''
-Dv8_use_arm_eabi_hardfloat=true
make[1]: Entering directory '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out'
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/allocation.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/bignum.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/bignum-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/cached-powers.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/conversions.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/diy-fp.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/fast-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/fixed-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/once.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/preparse-data.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/preparser.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/preparser-api.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/scanner.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/strtod.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/token.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/unicode.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser_lib/src/utils.o
  AR(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/tools/gyp/libpreparser_lib.a
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/preparser/preparser/preparser-process.o
  LINK(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/preparser
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/accessors.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/allocation.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/api.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/assembler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/ast.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/atomicops_internals_x86_gcc.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/bignum-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/bignum.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/bootstrapper.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/builtins.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/cached-powers.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/checks.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/circular-queue.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/code-stubs.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/code-stubs-hydrogen.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/codegen.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/compilation-cache.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/compiler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/contexts.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/conversions.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/counters.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/cpu-profiler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/data-flow.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/date.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/dateparser.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/debug-agent.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/debug.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/deoptimizer.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/disassembler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/diy-fp.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/elements-kind.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/elements.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/execution.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/extensions/externalize-string-extension.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/extensions/gc-extension.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/extensions/statistics-extension.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/factory.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/fast-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/fixed-dtoa.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/flags.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/frames.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/full-codegen.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/func-name-inferrer.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/gdb-jit.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/global-handles.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/handles.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/heap-profiler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/heap.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/hydrogen-instructions.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/hydrogen.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/ic.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/incremental-marking.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/interface.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/interpreter-irregexp.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/isolate.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/jsregexp.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/lithium-allocator.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/lithium.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/liveedit.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/log-utils.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/log.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/mark-compact.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/marking-thread.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/messages.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/objects-debug.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/objects-printer.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/objects-visiting.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/objects.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/once.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/optimizing-compiler-thread.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/parser.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/preparse-data.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/preparser.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/prettyprinter.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/profile-generator.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/property.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/regexp-macro-assembler-irregexp.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/regexp-macro-assembler-tracer.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/regexp-macro-assembler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/regexp-stack.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/rewriter.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/runtime-profiler.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/runtime.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/safepoint-table.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/scanner-character-streams.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/scanner.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/scopeinfo.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/scopes.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/serialize.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/snapshot-common.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/spaces.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/store-buffer.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/string-search.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/string-stream.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/strtod.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/stub-cache.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/sweeper-thread.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/token.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/transitions.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/type-info.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/unicode.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/utils.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/v8-counters.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/v8.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/v8conversions.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/v8threads.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/v8utils.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/variables.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/version.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/zone.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/assembler-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/builtins-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/code-stubs-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/codegen-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/constants-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/cpu-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/debug-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/deoptimizer-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/disasm-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/frames-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/full-codegen-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/ic-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/lithium-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/lithium-codegen-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/lithium-gap-resolver-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/macro-assembler-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/regexp-macro-assembler-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/simulator-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/arm/stub-cache-arm.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/platform-linux.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_base/src/platform-posix.o
  AR(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/tools/gyp/libv8_base.a
  ACTION tools_gyp_v8_gyp_js2c_target_js2c /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj/gen/libraries.cc
ACTION tools_gyp_v8_gyp_js2c_target_js2c_experimental
/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj/gen/experimental-libraries.cc
  TOUCH /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/tools/gyp/js2c.stamp
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_nosnapshot/gen/libraries.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_nosnapshot/gen/experimental-libraries.o
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_nosnapshot/src/snapshot-empty.o
  AR(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/tools/gyp/libv8_nosnapshot.a
  CXX(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/mksnapshot/src/mksnapshot.o
  LINK(target) /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/mksnapshot
ACTION tools_gyp_v8_gyp_v8_snapshot_target_run_mksnapshot
/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_snapshot/geni/snapshot.cc
Illegal instruction
tools/gyp/v8_snapshot.target.arm.mk:13: recipe for target
'/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_snapshot/geni/snapshot.cc' failed
make[1]: *** [/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/v8_snapshot/geni/snapshot.cc] Error 132
make[1]: Leaving directory '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out'
Makefile:195: recipe for target 'arm.release' failed
make: *** [arm.release] Error 2
/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8
archive '/usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/vendor/v8/out/arm.release/obj.target/tools/gyp/libv8_snapshot.a'to exist, but it was not found
(Libv8::Location::Vendor::ArchiveNotFound)
    from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in `each'
    from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in `verify_installation!'
    from /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19/ext/libv8/location.rb:26:in `install!'
    from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in /usr/local/rvm/gems/ruby-2.3.3/gems/libv8-3.16.14.19 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.3.3/extensions/armv6l-linux/2.3.0/libv8-3.16.14.19/gem_make.out

An error occurred while installing libv8 (3.16.14.19), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.16.14.19'` succeeds before bundling.
ignisf commented 7 years ago

Hello again,

I am out of ideas for this one :(. I'd suggest just removing this from your Gemfile and installing node from your package manager:

# Windows support
if RUBY_PLATFORM.downcase.include?('mswin') || RUBY_PLATFORM.downcase.include?('mingw')
  # make sure you install this gem following https://github.com/eakmotion/therubyracer_for_windows
  gem 'therubyracer', '~> 0.11.0beta1'
elsif !RUBY_PLATFORM.downcase.include?('darwin')
  gem 'therubyracer', '0.11.3'
end