Forráskód Böngészése

Update README.Linux.md common pitfalls

* recent V8 versions need to be compiled with snnapshot=off to be usable
* use more meaningful destination path
Stefan Siegl 9 éve
szülő
commit
e07ea80805
1 módosított fájl, 12 hozzáadás és 9 törlés
  1. 12 9
      README.Linux.md

+ 12 - 9
README.Linux.md

@@ -28,8 +28,8 @@ cd v8
 git checkout 3.32.6
 gclient sync
 
-# Build
-make native library=shared -j8
+# Build (disable snapshots for V8 > 4.4.9.1)
+make native library=shared snapshot=off -j8
 
 # Install to /usr
 sudo mkdir -p /usr/lib /usr/include
@@ -38,13 +38,16 @@ sudo cp -R include/* /usr/include
 echo -e "create /usr/lib/libv8_libplatform.a\naddlib out/native/obj.target/tools/gyp/libv8_libplatform.a\nsave\nend" | sudo ar -M
 ```
 
-If you don't want to overwrite the system copy of v8, replace `/usr` in
-the above commands with `/tmp/v8-install` and then add
-`--with-v8js=/tmp/v8-install` to the php-v8js `./configure` command below.
-If you do that with a v8 library of 4.2 branch or newer, then you need
-to fix the RUNPATH header in the v8js.so library so the libicui18n.so
-is found. By default it is set to `$ORIGIN/lib.target/`, however the files
-lie side by side. Use `chrpath -r '$ORIGIN' libv8.so` to fix.
+* If the V8 library is newer than 4.4.9.1 you need to pass `snapshot=off` to
+  `make`, otherwise the V8 library will not be usable
+  (see V8 [Issue 4192](https://code.google.com/p/v8/issues/detail?id=4192))
+* If you don't want to overwrite the system copy of v8, replace `/usr` in
+  the above commands with some other path like `/opt/v8` and then add
+  `--with-v8js=/opt/v8` to the php-v8js `./configure` command below.
+* If you do that with a v8 library of 4.2 branch or newer, then you need
+  to fix the RUNPATH header in the v8js.so library so the libicui18n.so
+  is found. By default it is set to `$ORIGIN/lib.target/`, however the files
+  lie side by side. Use `chrpath -r '$ORIGIN' libv8.so` to fix.
 
 `libv8_libplatform.a` should not be copied directly since it's a thin
 archive, i.e. it contains only pointers to the build objects, which