tibastral/contrats-francais

Erreur lors de l'installation de libv8

Closed this issue · 1 comments

Etant un newbie total en Ruby, je n'ai pas trop d'idée de solution...
le bundle échoue au moment d'installer libv8 (sous windows 10):

D:\Projets\contrats-francais>bundle
Fetching https://github.com/walle/gimli
Fetching gem metadata from https://rubygems.org/............
Resolving dependencies...
Using rake 12.0.0
Using RedCloth 4.2.9
Using bundler 1.16.3
Using coderay 1.1.2 (was 1.1.1)
Using github-markup 1.7.0 (was 1.6.0)
Using mini_portile2 2.3.0 (was 2.1.0)
Using nokogiri 1.8.4 (x64-mingw32) (was 1.6.8.1)
Using optiflag 0.7
Using redcarpet 3.4.0
Using wkhtmltopdf-binary 0.12.4 (was 0.9.9.3)
Using gimli 0.5.9 from https://github.com/walle/gimli (at development@17f46bb)
Using handlebars-source 4.0.8
Fetching libv8 3.16.14.19
Installing libv8 3.16.14.19 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/ext/libv8
C:/Ruby24-x64/bin/ruby.exe -r ./siteconf20180724-12788-1ybk33u.rb extconf.rb
creating Makefile
find: ÔÇÿoutÔÇÖ: No such file or directory
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
              -Ibuild/standalone.gypi --depth=. \
              -Dv8_target_arch=ia32 \
-S.ia32  -Dv8_enable_backtrace=1
-Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2
-Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
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
Patching out/build/All.target.ia32.mk...
Patching out/build/All.target.x64.mk...
Patching out/Makefile.ia32...
Patching out/Makefile.x64...
Patching out/preparser/preparser.target.ia32.mk...
Patching out/preparser/preparser.target.x64.mk...
Patching out/samples/lineprocessor.target.ia32.mk...
Patching out/samples/lineprocessor.target.x64.mk...
Patching out/samples/process.target.ia32.mk...
Patching out/samples/process.target.x64.mk...
Patching out/samples/shell.target.ia32.mk...
Patching out/samples/shell.target.x64.mk...
Patching out/src/d8.target.ia32.mk...
Patching out/src/d8.target.x64.mk...
Patching out/src/d8_js2c.host.x64.mk...
Patching out/src/d8_js2c.target.ia32.mk...
Patching out/tools/gyp/js2c.host.x64.mk...
Patching out/tools/gyp/js2c.target.ia32.mk...
Patching out/tools/gyp/mksnapshot.host.x64.mk...
Patching out/tools/gyp/mksnapshot.target.ia32.mk...
Patching out/tools/gyp/postmortem-metadata.target.ia32.mk...
Patching out/tools/gyp/postmortem-metadata.target.x64.mk...
Patching out/tools/gyp/preparser_lib.target.ia32.mk...
Patching out/tools/gyp/preparser_lib.target.x64.mk...
Patching out/tools/gyp/v8.host.x64.mk...
Patching out/tools/gyp/v8.target.ia32.mk...
Patching out/tools/gyp/v8.target.x64.mk...
Patching out/tools/gyp/v8_base.host.x64.mk...
Patching out/tools/gyp/v8_base.target.ia32.mk...
Patching out/tools/gyp/v8_base.target.x64.mk...
Patching out/tools/gyp/v8_nosnapshot.host.x64.mk...
Patching out/tools/gyp/v8_nosnapshot.target.ia32.mk...
Patching out/tools/gyp/v8_nosnapshot.target.x64.mk...
Patching out/tools/gyp/v8_shell.host.x64.mk...
Patching out/tools/gyp/v8_shell.target.ia32.mk...
Patching out/tools/gyp/v8_snapshot.host.x64.mk...
Patching out/tools/gyp/v8_snapshot.target.ia32.mk...
Patching out/tools/gyp/v8_snapshot.target.x64.mk...
make[1]┬á: on entre dans le r├®pertoire
« /c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out »
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser_lib/src/win32-math.o
AR(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/tools/gyp/libpreparser_lib.a
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/preparser/preparser/preparser-process.o
LINK(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/preparser
CXX(target)
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/v8_base/src/accessors.o
In file included from ../src/elements.h:32:0,
                 from ../src/objects-inl.h:38,
                 from ../src/v8.h:60,
                 from ../src/accessors.cc:28:
../src/objects.h: In member function 'uint32_t v8::internal::HashTable<Shape,
Key>::Hash(Key)':
../src/objects.h:2832:20: warning: invalid use of incomplete type 'class
v8::internal::Heap'
           GetHeap()->HashSeed());
                    ^~
In file included from ../src/v8.h:52:0,
                 from ../src/accessors.cc:28:
../src/../include/v8.h:139:7: note: forward declaration of 'class
v8::internal::Heap'
 class Heap;
       ^~~~
In file included from ../src/elements.h:32:0,
                 from ../src/objects-inl.h:38,
                 from ../src/v8.h:60,
                 from ../src/accessors.cc:28:
../src/objects.h: In member function 'uint32_t v8::internal::HashTable<Shape,
Key>::HashForObject(Key, v8::internal::Object*)':
../src/objects.h:2841:20: warning: invalid use of incomplete type 'class
v8::internal::Heap'
           GetHeap()->HashSeed(), object);
                    ^~
In file included from ../src/v8.h:52:0,
                 from ../src/accessors.cc:28:
../src/../include/v8.h:139:7: note: forward declaration of 'class
v8::internal::Heap'
 class Heap;
       ^~~~
In file included from ../src/elements.h:32:0,
                 from ../src/objects-inl.h:38,
                 from ../src/v8.h:60,
                 from ../src/accessors.cc:28:
../src/objects.h: At global scope:
../src/objects.h:5252:44: error: left operand of shift expression '(-1 << 3)' is
negative [-fpermissive]
   static const int kElementsKindMask = (-1 << kElementsKindShift) &
                                        ~~~~^~~~~~~~~~~~~~~~~~~~~~
../src/objects.h:7386:36: error: left operand of shift expression '(-8 << 26)'
is negative [-fpermissive]
       (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [tools/gyp/v8_base.target.x64.mk:197:
/c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out/x64.release/obj.target/v8_base/src/accessors.o]
Error 1
make[1]┬á: on quitte le r├®pertoire
« /c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/vendor/v8/out »
make: *** [Makefile:195: x64.release] Error 2
C:/Ruby24-x64/lib/ruby/gems/2.4.0/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
'C:/Ruby24-x64/lib/ruby/gems/2.4.0/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
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in
`each'
from
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:35:in
`verify_installation!'
from
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:26:in
`install!'
        from extconf.rb:7:in `<main>'
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/disable-building-tests.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/disable-werror-on-osx.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/disable-xcode-debugging.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/do-not-imply-vfp3-and-armv7.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/do-not-use-MAP_NORESERVE-on-freebsd.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/do-not-use-vfp2.patch
Applying
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19/patches/fPIC-for-static.patch
Compiling v8 for x64
Using python 2.7.14
Using compiler: c++ (GCC version 7.3.0)
Beginning compilation. This will take some time.
Building v8 with env CXX=c++ LINK=c++ make x64.release

extconf failed, exit code 1

Gem files will remain installed in
C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/libv8-3.16.14.19 for inspection.
Results logged to
C:/Ruby24-x64/lib/ruby/gems/2.4.0/extensions/x64-mingw32/2.4.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:
  handlebars was resolved to 0.8.0, which depends on
    therubyracer was resolved to 0.12.3, which depends on
      libv8

My bad, c'est tout simplement que libv8 n'est pas supporté sous win10... A moi les joies de la VM !
Si jamais c'était possible d'éviter la dépendance sur libv8 ca serait génial ;-)
En tout cas merci beaucoup !