Сборка V8 из источника - PullRequest
       16

Сборка V8 из источника

0 голосов
/ 07 марта 2020

Недавно я пытался собрать двигатель V8 JavaScript из источника, используя гм с помощью документации , чтобы использовать d8 локально ; но когда я запускаю команду gm x64.release, она поднимается ниже исключения.

# mkdir -p out/x64.release
# echo > out/x64.release/args.gn << EOF
is_component_build = false
is_debug = false
target_cpu = "x64"
use_goma = false
goma_dir = "None"
v8_enable_backtrace = true
v8_enable_disassembler = true
v8_enable_object_print = true
v8_enable_verify_heap = true
EOF
# gn gen out/x64.release
Done. Made 144 targets from 87 files in 443ms
# autoninja -C out/x64.release d8
b'\x1b[31m[E2020-03-07T11:11:53.973835+03:30 10007 0 annotate.go:241]\x1b[0m original error: no such package\r\n\x1b[31m[E2020-03-07T11:11:53.973974+03:30 10007 0 annotate.go:241]\x1b[0m \r\n\x1b[31m[E2020-03-07T11:11:53.974037+03:30 10007 0 annotate.go:241]\x1b[0m goroutine 28:\r\n'b'\x1b[31m[E2020-03-07T11:11:53.974094+03:30 10007 0 annotate.go:241]\x1b[0m #0 go.chromium.org/luci/cipd/client/cipd/client.go:1690 - cipd.(*clientImpl).humanErr()\r\n\x1b[31m[E2020-03-07T11:11:53.974155+03:30 10007 0 annotate.go:241]\x1b[0m #1 go.chromium.org/luci/cipd/client/cipd/client.go:744 - cipd.(*clientImpl).ResolveVersion()\r\n\x1b[31m[E2020-03-07T11:11:53.974226+03:30 10007 0 annotate.go:241]\x1b[0m #2 go.chromium.org/luci/cipd/client/cipd/resolver.go:176 - cipd.(*Resolver).resolveVersion.func1()\r\n\x1b[31m[E2020-03-07T11:1'b'1:53.974284+03:30 10007 0 annotate.go:241]\x1b[0m #3 go.chromium.org/luci/common/sync/promise/promise.go:84 - promise.(*Promise).runGen()\r\n\x1b[31m[E2020-03-07T11:11:53.974339+03:30 10007 0 annotate.go:241]\x1b[0m #4 runtime/asm_amd64.s:1357 - runtime.goexit()\r\n\x1b[31m[E2020-03-07T11:11:53.974416+03:30 10007 0 annotate.go:241]\x1b[0m \r\n\x1b[31m[E2020-03-07T11:11:53.974463+03:30 10007 0 annotate.go:241]\x1b[0m goroutine 27:\r\n\x1b[31m[E2020-03-07T11:11:53.974520+03:30 10007 0 annotate.go:241]\x1b[0m From frame 0 to 0, the following wr'b'appers were found:\r\n\x1b[31m[E2020-03-07T11:11:53.974571+03:30 10007 0 annotate.go:241]\x1b[0m   internal reason: MultiError 1/1: following first non-nil error.\r\n\x1b[31m[E2020-03-07T11:11:53.974626+03:30 10007 0 annotate.go:241]\x1b[0m \r\n'b'\x1b[31m[E2020-03-07T11:11:53.974678+03:30 10007 0 annotate.go:241]\x1b[0m #0 go.chromium.org/luci/cipd/client/cipd/ensure/file.go:255 - ensure.(*File).Resolve.func1.1()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.974732+03:30 10007 0 annotate.go:241]\x1b[0m   reason: failed to resolve infra/python/wheels/psutil/linux-amd64_cp32_abi3@version:5.6.2 (line 0)\r\n'b'\x1b[31m[E2020-03-07T11:11:53.974787+03:30 10007 0 annotate.go:241]\x1b[0m \r\n\x1b[31m[E2020-03-07T11:11:53.974840+03:30 10007 0 annotate.go:241]\x1b[0m #1 go.chromium.org/luci/common/sync/parallel/runner.go:51 - parallel.(*WorkItem).execute()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.974894+03:30 10007 0 annotate.go:241]\x1b[0m #2 go.chromium.org/luci/common/sync/parallel/runner.go:149 - parallel.(*Runner).dispatchLoopBody.func2()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.974975+03:30 10007 0 annotate.go:241]\x1b[0m #3 runtime/asm_amd64.s:1357 - runtime.goexit()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975032+03:30 10007 0 annotate.go:241]\x1b[0m \r\n'b'\x1b[31m[E2020-03-07T11:11:53.975083+03:30 10007 0 annotate.go:241]\x1b[0m goroutine 1:\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975134+03:30 10007 0 annotate.go:241]\x1b[0m #0 go.chromium.org/luci/vpython/venv/config.go:183 - venv.(*Config).makeEnv()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975188+03:30 10007 0 annotate.go:241]\x1b[0m   reason: failed to resolve packages\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975250+03:30 10007 0 annotate.go:241]\x1b[0m \r\n'b'\x1b[31m[E2020-03-07T11:11:53.975305+03:30 10007 0 annotate.go:241]\x1b[0m #1 go.chromium.org/luci/vpython/venv/venv.go:163 - venv.With()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975364+03:30 10007 0 annotate.go:241]\x1b[0m #2 go.chromium.org/luci/vpython/run.go:62 - vpython.Run()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975416+03:30 10007 0 annotate.go:241]\x1b[0m #3 go.chromium.org/luci/vpython/application/application.go:320 - application.(*application).mainImpl()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975470+03:30 10007 0 annotate.go:241]\x1b[0m #4 go.chromium.org/luci/vpython/application/application.go:406 - application.(*Config).Main.func1()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975522+03:30 10007 0 annotate.go:241]\x1b[0m #5 go.chromium.org/luci/vpython/application/support.go:46 - application.run()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975762+03:30 10007 0 annotate.go:241]\x1b[0m #6 go.chromium.org/luci/vpython/application/application.go:405 - application.(*Config).Main()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975834+03:30 10007 0 annotate.go:241]\x1b[0m #7 vpython/main.go:106 - main.mainImpl()\r\n\x1b[31m[E2020-03-07T11:11:53.975884+03:30 10007 0 annotate.go:241]\x1b[0m #8 vpython/main.go:112 - main.main()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975937+03:30 10007 0 annotate.go:241]\x1b[0m #9 runtime/proc.go:203 - runtime.main()\r\n'b'\x1b[31m[E2020-03-07T11:11:53.975997+03:30 10007 0 annotate.go:241]\x1b[0m #10 runtime/asm_amd64.s:1357 - runtime.goexit()\r\n'Traceback (most recent call last):
  File "tools/dev/gm.py", line 420, in <module>
    sys.exit(Main(sys.argv))
  File "tools/dev/gm.py", line 409, in Main
    return_code += configs[c].Build()
  File "tools/dev/gm.py", line 282, in Build
    (path, targets))
  File "tools/dev/gm.py", line 190, in _CallWithOutput
    return p.returncode, "".join(output)
TypeError: sequence item 0: expected str instance, bytes found

Стоит отметить, что я использую Ubuntu 18.04 в качестве операционной системы. Я не знаю, что с ним не так и как я могу его решить!

Любой ответ будет оценен ...

Редактировать : Когда я запускаю команду, используя python2 (я имею в виду python2 tools/dev/gm.py x64.release), это вызывает некоторые другие проблемы, такие как ниже

# autoninja -C out/x64.release d8
[E2020-03-08T06:20:51.767248+03:30 14549 0 annotate.go:241] original error: no such package
[E2020-03-08T06:20:51.767304+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767335+03:30 14549 0 annotate.go:241] goroutine 50:
[E2020-03-08T06:20:51.767361+03:30 14549 0 annotate.go:241] #0 go.chromium.org/luci/cipd/client/cipd/client.go:1690 - cipd.(*clientImpl).humanErr()
[E2020-03-08T06:20:51.767395+03:30 14549 0 annotate.go:241] #1 go.chromium.org/luci/cipd/client/cipd/client.go:744 - cipd.(*clientImpl).ResolveVersion()
[E2020-03-08T06:20:51.767426+03:30 14549 0 annotate.go:241] #2 go.chromium.org/luci/cipd/client/cipd/resolver.go:176 - cipd.(*Resolver).resolveVersion.func1()
[E2020-03-08T06:20:51.767457+03:30 14549 0 annotate.go:241] #3 go.chromium.org/luci/common/sync/promise/promise.go:84 - promise.(*Promise).runGen()
[E2020-03-08T06:20:51.767488+03:30 14549 0 annotate.go:241] #4 runtime/asm_amd64.s:1357 - runtime.goexit()
[E2020-03-08T06:20:51.767517+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767542+03:30 14549 0 annotate.go:241] goroutine 49:
[E2020-03-08T06:20:51.767569+03:30 14549 0 annotate.go:241] From frame 0 to 0, the following wrappers were found:
[E2020-03-08T06:20:51.767596+03:30 14549 0 annotate.go:241]   internal reason: MultiError 1/1: following first non-nil error.
[E2020-03-08T06:20:51.767624+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767649+03:30 14549 0 annotate.go:241] #0 go.chromium.org/luci/cipd/client/cipd/ensure/file.go:255 - ensure.(*File).Resolve.func1.1()
[E2020-03-08T06:20:51.767680+03:30 14549 0 annotate.go:241]   reason: failed to resolve infra/python/wheels/psutil/linux-amd64_cp32_abi3@version:5.6.2 (line 0)
[E2020-03-08T06:20:51.767711+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767736+03:30 14549 0 annotate.go:241] #1 go.chromium.org/luci/common/sync/parallel/runner.go:51 - parallel.(*WorkItem).execute()
[E2020-03-08T06:20:51.767767+03:30 14549 0 annotate.go:241] #2 go.chromium.org/luci/common/sync/parallel/runner.go:149 - parallel.(*Runner).dispatchLoopBody.func2()
[E2020-03-08T06:20:51.767795+03:30 14549 0 annotate.go:241] #3 runtime/asm_amd64.s:1357 - runtime.goexit()
[E2020-03-08T06:20:51.767821+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767852+03:30 14549 0 annotate.go:241] goroutine 1:
[E2020-03-08T06:20:51.767884+03:30 14549 0 annotate.go:241] #0 go.chromium.org/luci/vpython/venv/config.go:183 - venv.(*Config).makeEnv()
[E2020-03-08T06:20:51.767918+03:30 14549 0 annotate.go:241]   reason: failed to resolve packages
[E2020-03-08T06:20:51.767947+03:30 14549 0 annotate.go:241] 
[E2020-03-08T06:20:51.767968+03:30 14549 0 annotate.go:241] #1 go.chromium.org/luci/vpython/venv/venv.go:163 - venv.With()
[E2020-03-08T06:20:51.767994+03:30 14549 0 annotate.go:241] #2 go.chromium.org/luci/vpython/run.go:62 - vpython.Run()
[E2020-03-08T06:20:51.768022+03:30 14549 0 annotate.go:241] #3 go.chromium.org/luci/vpython/application/application.go:320 - application.(*application).mainImpl()
[E2020-03-08T06:20:51.768047+03:30 14549 0 annotate.go:241] #4 go.chromium.org/luci/vpython/application/application.go:406 - application.(*Config).Main.func1()
[E2020-03-08T06:20:51.768074+03:30 14549 0 annotate.go:241] #5 go.chromium.org/luci/vpython/application/support.go:46 - application.run()
[E2020-03-08T06:20:51.768108+03:30 14549 0 annotate.go:241] #6 go.chromium.org/luci/vpython/application/application.go:405 - application.(*Config).Main()
[E2020-03-08T06:20:51.768147+03:30 14549 0 annotate.go:241] #7 vpython/main.go:106 - main.mainImpl()
[E2020-03-08T06:20:51.768176+03:30 14549 0 annotate.go:241] #8 vpython/main.go:112 - main.main()
[E2020-03-08T06:20:51.768207+03:30 14549 0 annotate.go:241] #9 runtime/proc.go:203 - runtime.main()
[E2020-03-08T06:20:51.768241+03:30 14549 0 annotate.go:241] #10 runtime/asm_amd64.s:1357 - runtime.goexit()

Ответы [ 2 ]

1 голос
/ 07 марта 2020

gm.py требуется незначительное исправление, чтобы быть совместимым с Python 3. У меня есть где-то патч, но я еще не дошел до его установки ...

Тем временем вы можете запустить его в Python 2 вручную:

python2 tools/dev/gm.py

Если у вас нет команды python2, вам придется установить соответствующий пакет для вашего дистрибутива.

0 голосов
/ 25 марта 2020

Насколько я понял, сборка V8 еще не совместима с Python 3, и было много проблем, когда я пытался собрать ее с использованием Python 3. Наконец, я изменил версию по умолчанию Python в моей ОС (Ubuntu 18.04) до Python 2 и он работал как шарм.

Сначала я установил Python 2 в качестве альтернативы для Python:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1

Затем я выбрал python2 в качестве версии по умолчанию Python, используя следующую команду:

sudo update-alternatives --config python
...