I am using ruby-2.0.0-p648
for rails 4.0.0
.
Currently working on system macOS Catalina
, when I run bundle install
it gives following error,
Installing libv8 3.16.14.19 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/ext/libv8
/Users/rex/.rvm/rubies/ruby-2.0.0-p648/bin/ruby -I /Users/rex/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0 -r ./siteconf20210419-8256-1q1up44.rb extconf.rb
creating Makefile
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/disable-building-tests.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/disable-werror-on-osx.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/disable-xcode-debugging.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/do-not-imply-vfp3-and-armv7.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/do-not-use-MAP_NORESERVE-on-freebsd.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/do-not-use-vfp2.patch
Applying /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/patches/fPIC-for-static.patch
Compiling v8 for x64
Using python 2.7.16
Using compiler: c++ (clang version 12.0.0)
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Beginning compilation. This will take some time.
Building v8 with env CXX=c++ LINK=c++ /usr/bin/make x64.release ARFLAGS.target=crs werror=no
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/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
clang: warning: include path for libstdc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from ../src/allocation.cc:33:
../src/utils.h:33:10: fatal error: 'climits' file not found
#include <climits>
^~~~~~~~~
1 error generated.
make[1]: *** [/Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o] Error 1
make: *** [x64.release] Error 2
/Users/rex/.rvm/gems/ruby-2.0.0-p648/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
'/Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/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/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in `each'
from /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in `verify_installation!'
from /Users/rex/.rvm/gems/ruby-2.0.0-p648/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 /Users/rex/.rvm/gems/ruby-2.0.0-p648/gems/libv8-3.16.14.19 for inspection.
Results logged to /Users/rex/.rvm/gems/ruby-2.0.0-p648/extensions/x86_64-darwin-19/2.0.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' --source 'https://rubygems.org/'` succeeds before bundling.
In Gemfile:
therubyracer was resolved to 0.12.3, which depends on
libv8
Following did not work as v8 was installed via
Homebrew
and no symlink for following path was created,So made it available from
Cellar
& provided some environment variables needed,This worked like charm.