配置v8


配置小飛機,下載傳送門 

  安裝

dpkg -i xxx
apt-get -f install

  設置成全局代理

設置終端代理,推薦使用polipo(使用別的全局代理方式可能導致拉取舊的代碼的時候代理出問題,喜歡探索的同學可以試下別的方式,信奉人生苦短少瞎折騰的同學跟着這個步驟一步一步來就行;這樣配置成功之后終端走的是ssr的全局代理,如果瀏覽器如chrome想走代理使用終端起chrome進程即可)

安裝

sudo apt-get install polipo

修改配置文件

sudo gedit /etc/polipo/config

改為

# This file only needs to list configuration variables that deviate
# from the default values.  See /usr/share/doc/polipo/examples/config.sample
# and "polipo -v" for variables you can tweak and further information.

logSyslog = false
logFile = "/var/log/polipo/polipo.log"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

proxyAddress = "0.0.0.0"
proxyPort = 8123

重啟polipo生效

/etc/init.d/polipo restart

修改~/.bashrc添加

export http_proxy="localhost:8123"
export https_proxy="localhost:8123"
export ftp_proxy="localhost:8123"

創建~/.boto文件

[Boto]
proxy=127.0.0.1
proxy_port=8123

導出環境變量

set NO_AUTH_BOTO_CONFIG=path_to_.boto/.boto

重啟bash即可(重啟bash后可以用curl google.com檢查下是否成功)

 

配置V8

  安裝ninja並寫入bashrc

git clone https://github.com/ninja-build/ninja.git
cd ninja && ./configure.py --bootstrap && cd ..
echo 'export PATH=$PATH:"/path/to/ninja"' >> ~/.bashrc
bash

  安裝depot_tools

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

寫入.bashrc

echo 'export PATH=$PATH:"/path/to/depot_tools"' >> ~/.bashrc
bash

完成后執行

mkdir v8
cd v8
fetch v8

 下載完成后執行

gclient sync

編譯(release版)

tools/dev/v8gen.py x64.debug
ninja -C out.gn/x64.debug

 編譯(debug版)

tools/dev/v8gen.py x64.release
ninja -C out.gn/x64.release

 

安裝turbolizer

  turbolizer安裝時需要配置npm的代理,一個簡單易行的方法是修改添加~/.npmrc文件,並寫入以下內容

proxy=http://127.0.0.1:8123/
https-proxy=http://127.0.0.1:8123
registry=http://registry.npmjs.org/

 配置好npm代理后切換到/v8/tools/turbolizer目錄下安裝

npm i
npm run-script build

使用,在turbolizer目錄下開啟本地端口

python -m SimpleHTTPServer 8000

打開google-chrome瀏覽器訪問本地8000端口即可

 

可能的問題:

0.如果在拉取舊的commit(git reset --hard xxx)的時候使用gclient sync報錯

Error: 4> 
4> ____ v8/buildtools at xxx
4>     You have unstaged changes.
4>     Please commit, stash, or reset.

解決方法,使用

gclient sync -f

1.如果碰到編譯時tools/dev/v8gen.py x64.debug報錯

################################################################################
/usr/bin/python -u tools/mb/mb.py gen -f infra/mb/mb_config.pyl -m developer_default -b x64.debug out.gn/x64.debug
  
  Writing """\
  is_debug = true
  target_cpu = "x64"
  v8_enable_backtrace = true
  v8_enable_slow_dchecks = true
  v8_optimized_debug = false
  """ to /home/r00t/v8/out.gn/x64.debug/args.gn.
  
  /home/r00t/v8/buildtools/linux64/gn gen out.gn/x64.debug --check
    -> returned 1
  ERROR at //build/config/linux/pkg_config.gni:103:17: Script returned non-zero exit code.
      pkgresult = exec_script(pkg_config_script, args, "value")
                  ^----------
  Current dir: /home/r00t/v8/out.gn/x64.debug/
  Command: python /home/r00t/v8/build/config/linux/pkg-config.py -s /home/r00t/v8/build/linux/debian_sid_amd64-sysroot -a x64 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0
  Returned 1.

執行如下命令

sudo apt-get update && sudo apt-get install pkg-config

如果編譯時出現權限問題chmod 777即可

cd ..
sudo chmod 777 -R v8

 

編譯的時候我的i7-9750,16G內存,1660ti的電腦風扇瘋狂地轉;b

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM