2017-11-27 2 views
0

Ich baue eine alte Version von js v8 https://github.com/v8/v8/wiki/Building-with-GN, genau für diesen Zweck https://github.com/tunz/js-vuln-db/blob/master/v8/CVE-2017-5070.md. Ich versuche zu einem alten Zweig über 17. Mai 2017 von einem Zweig commit (git reset --hard a8424d592feff907c3f9a47310765c81321abe7b), und verwenden Sie den Befehl tools/dev/v8gen.py -b "V8 Linux64 - debug builder" -m client.v8 CVE-2017-5070 -vv zu bauen damit zur Kasse, aber Fehler aufgetreten:Wie man alte Version von js v8 baut?

################################################################################ 
/usr/bin/python -u tools/mb/mb.py gen -f infra/mb/mb_config.pyl -m client.v8 -b V8 Linux64 - debug builder out.gn/CVE-2017-5070 

    Writing """\ 
    is_component_build = true 
    is_debug = true 
    target_cpu = "x64" 
    use_goma = true 
    v8_enable_backtrace = true 
    v8_enable_slow_dchecks = true 
    v8_has_valgrind = true 
    v8_test_isolation_mode = "prepare" 
    """ to /home/cui/github/v8/v8/out.gn/CVE-2017-5070/args.gn. 

    /home/cui/github/v8/v8/buildtools/linux64/gn gen out.gn/CVE-2017-5070 --check 
    -> returned 1 
    ERROR at //gni/v8.gni:121:3: Dependency not allowed. 
    executable(target_name) { 
    ^------------------------ 
    The item //:mksnapshot 
    can not depend on //build/config/sanitizers:deps 
    because it is not in //build/config/sanitizers:deps's visibility list: [ 
    //build/config:exe_and_shlib_deps 
    ] 

    GN gen failed: 1 
Traceback (most recent call last): 
    File "tools/dev/v8gen.py", line 304, in <module> 
    sys.exit(gen.main()) 
    File "tools/dev/v8gen.py", line 298, in main 
    return self._options.func() 
    File "tools/dev/v8gen.py", line 166, in cmd_gen 
    gn_outdir, 
    File "tools/dev/v8gen.py", line 208, in _call_cmd 
    stderr=subprocess.STDOUT, 
    File "/usr/lib/python2.7/subprocess.py", line 219, 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', 'client.v8', '-b', 'V8 Linux64 - debug builder', 'out.gn/CVE-2017-5070']' returned non-zero exit status 1 

Ich weiß nicht, wie alt zu bauen Version von js v8, können Sie mir einen Rat geben? ich brauche zu bauen diese alte Version nicht die neueste Version

Antwort

0

Versuchen gclient sync nach git reset läuft (oder git checkout, was wäre die bessere Alternative) wirklich. Hilft das?

+0

Ja, ich habe das auch versucht, aber keine Verwendung, die Shell blockiert nur dort. Ich versuche, den Grund dafür zu finden, es ist, weil das Werkzeug "gn" nichts tun wird, nur dort blockieren. – margular

+0

'gclient sync' ruft' gn' nicht auf und ist unbedingt erforderlich, bevor Sie ein Build erstellen können. Wenn Sie eine langsame Internetverbindung haben, kann es eine Weile dauern. – jmrk

+0

Ja, ich habe den Befehl 'gclient sync' ausgeführt, und gn wird beim Befehl' v8gen.py x64.release' blockieren. Dann trenne ich diesen Befehl, schließlich habe ich festgestellt, dass er beim Aufruf von gn blockiert wird. – margular