J2V8 icon indicating copy to clipboard operation
J2V8 copied to clipboard

Is it still possible to build locally with Docker?

Open michaelforged opened this issue 6 years ago • 5 comments

Hi,

Thanks for all the latest work on this project, it's very much appreciated!

I'm wondering if the local Docker build still works. I tried to run it on my fork and while it does seem like it uses the depot_tools to build v8, which I assume is the new workflow, it fails here:

/usr/bin/python -u tools/mb/mb.py gen -f infra/mb/mb_config.pyl -m developer_default -b arm64.release out.gn/arm64.release

  Writing """\
  is_debug = false
  target_cpu = "x64"
  v8_target_cpu = "arm64"
  """ to /v8build/v8/out.gn/arm64.release/args.gn.

  /v8build/v8/buildtools/linux64/gn gen out.gn/arm64.release --check
    -> returned 1
  ERROR at //gni/v8.gni:8:1: Can't load input file.
  import("//build/split_static_library.gni")
  ^----------------------------------------
  Unable to load:
    /v8build/v8/build/split_static_library.gni
  I also checked in the secondary tree for:
    /v8build/v8/build/secondary/build/split_static_library.gni
  See //BUILD.gn:18:1: whence it was imported.
  import("gni/v8.gni")
  ^------------------
  GN gen failed: 1
    return self._options.func()
  File "./tools/dev/v8gen.py", line 169, in cmd_gen
    gn_outdir,
  File "./tools/dev/v8gen.py", line 211, in _call_cmd
    stderr=subprocess.STDOUT,
  File "/usr/lib/python2.7/subprocess.py", line 574, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['/usr/bin/python', '-u', 'tools/mb/mb.py', 'gen', '-f', 'infra/mb/mb_config.pyl', '-m', 'developer_default', '-b', 'arm64.release', 'out.gn/arm64.release']' returned non-zero exit status 1
The command '/bin/sh -c ./tools/dev/v8gen.py ${build_platform} -vv' returned a non-zero code: 1

michaelforged avatar Nov 15 '19 16:11 michaelforged

Hi @michaeltheory,

The docker build was working a few days ago but unfortunately, it's broken now because of the upstream version of depot_tools.

I'll investigate and fix it.

ahmadov avatar Nov 15 '19 17:11 ahmadov

You can build the J2V8 (without build V8) if you do the following steps:

$ cd /path/to/j2v8
$ curl -O https://download.eclipsesource.com/j2v8/v8/libv8_7.4.288_monolith.zip
$ mkdir -p v8.out
$ unzip libv8_7.4.288_monolith.zip -d v8.out
$ python build -t linux -a x64 --docker j2v8cmake j2v8jni j2v8cpp j2v8optimize j2v8java j2v8test

I prepared a prebuild V8 static libraries to speed up the build process.

ahmadov avatar Nov 15 '19 18:11 ahmadov

This worked great, thanks!

michaelforged avatar Nov 16 '19 06:11 michaelforged

It's been awhile, but I tried building again and now I get /usr/local/opt/python@2/bin/python2.7: can't find '__main__' module in 'build' when I run python build -t linux -a x64 --docker j2v8cmake j2v8jni j2v8cpp j2v8optimize j2v8java j2v8test

michaelforged avatar Mar 09 '20 05:03 michaelforged

The following command executes successfully for me.

$ python2 build.py -t linux -a x64 --docker j2v8cmake j2v8jni j2v8cpp j2v8optimize j2v8java j2v8test

I'm using the master branch.

ahmadov avatar Mar 11 '20 11:03 ahmadov