Environment:

- MacBook Pro (Retina, 15-inch, Mid 2014)
- OSX Yosemite (10.10.4)
- Xcode 6.4
- Android Studio 1.3 RC 1 (141.2071668)

My intent is to compile V8 as a shared library so I can include it in my new 
project as a standalone Javascript engine.

These are the steps I followed starting July 16, 2015 in order to accomplish 
that task:

1) Used SourceTree to clone depot_tools into ~/Projects/depot_tools

2) Started Terminal, then:

    export PATH=~/Projects/depot_tools:$PATH

    cd Projects

    fetch v8        (took about 15 min.)

3) As suggested in https://code.google.com/p/v8-wiki/wiki/D8OnAndroid 
<https://code.google.com/p/v8-wiki/wiki/D8OnAndroid> , opened 
~/Projects/.gclient and added:

    target_os = [‘android’]

    And then, on Terminal:
    
    cd v8

    gclient sync —nohooks          (15:20 hrs - very slow connection)

4) Terminal again, then:

    make android_arm -j16 library=shared

    The process aborts with the following errors:


    make[1]: *** No rule to make target ‘android_arm.optdebug’. Stop.

    /bin/sh: 
~/Projects/v8/third_party/android_tools/ndk//toolchains/arm-linux-androideabi-4.9/prebuilt/mac-x86_64/bin/*-gcc:
 No such file or directory

    make[1]: *** [out/Makefile.android_arm.debug] Error 1

    make[1]: *** [out/Makefile.android_arm.release] Error 1


No idea what is “optdebug”, so I didn’t pursue any further. The missing folder, 
however, was really missing. There was no prebuilt/mac-x86_64/, just one 
prebuilt/linux-x86_64/. Renamed the latter to the former, and then tried again.

The new error message is:

/bin/sh: 
~/Projects/v8/third_party/android_tools/ndk//toolchains/arm-linux-androideabi-4.9/prebuilt/mac-x86_64/bin/arm-linux-androideabi-gcc:
 cannot execute binary file

Renamed directories to what they were before (that is, prebuilt/mac-x86_64/ -> 
prebuilt/linux-x86_64 ).

Checked my Android Studio NDK folder in ~/Library/Android/sdk/ndk-bundle, found 
folder prebuilt/darwin-x86_64. Copied it to V8’s /prebuilt folder, renamed it 
to mac-x86-64. Tried again.

The compile step failed with these errors:


In file included from ../src/libplatform/task-queue.cc 
<http://task-queue.cc/>:5:
In file included from .././src/libplatform/task-queue.h:8:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/queue:169:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/deque:159:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/__split_buffer:7:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/algorithm:626:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/cstring:61:10:
 fatal error: 
      'string.h' file not found
#include <string.h>
         ^
In file included from ../src/libplatform/worker-thread.cc 
<http://worker-thread.cc/>:5:
In file included from .././src/libplatform/worker-thread.h:8:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/queue:169:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/deque:159:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/__split_buffer:7:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/algorithm:626:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/cstring:61:10:
 fatal error: 
      'string.h' file not found
#include <string.h>
         ^
In file included from ../src/base/bits.cc <http://bits.cc/>:5:
In file included from .././src/base/bits.h:9:
In file included from .././src/base/macros.h:11:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/cstring:61:10:
 fatal error: 
      'string.h' file not found
#include <string.h>
         ^
../src/base/atomicops_internals_x86_gcc.cc:8:10: fatal error: 'string.h' file
      not found
#include <string.h>
         ^
1 error generated.
make[2]: *** 
[~/Projects/v8/out/android_arm.debug/obj.host/v8_libbase/src/base/atomicops_internals_x86_gcc.o]
 Error 1
make[2]: *** Waiting for unfinished jobs....
  CXX(host) 
~/Projects/v8/out/android_arm.debug/obj.host/v8_libbase/src/base/division-by-constant.o
In file included from ../src/base/cpu.cc <http://cpu.cc/>:5:
In file included from .././src/base/cpu.h:16:
In file included from .././src/base/macros.h:11:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/cstring:61:10:
 fatal error: 
      'string.h' file not found
#include <string.h>
         ^
In file included from ../src/libplatform/default-platform.cc 
<http://default-platform.cc/>:5:
In file included from .././src/libplatform/default-platform.h:8:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/functional:477:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/memory:606:
In file included from 
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iterator:346:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/iosfwd:90:10:
 fatal error: 
      'wchar.h' file not found
#include <wchar.h>  // for mbstate_t
         ^
In file included from ../src/base/division-by-constant.cc 
<http://division-by-constant.cc/>:9:
In file included from .././src/base/logging.h:8:
~/Projects/v8/third_party/llvm-build/Release+Asserts/bin/../include/c++/v1/cstring:61:10:
 fatal error: 
      'string.h' file not found
#include <string.h>
         ^
1 error generated.




At this point, I don’t know what else to do.

Can you please tell me what am I doing wrong, and how to fix it? Being able to 
include V8 as a standalone Javascript engine is vital for my project, so any 
help will be greatly appreciated. Thanks in advance!

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to