原本只是一直在 Windows 平台上編譯 Webkit,但做 layout test case 時,一直無法 success,一些文章說是字型的問題,但好不容易都取到字型了,還是不太 ok ,就開始嘗試在其他平台上測試。

編譯成功的平台:

  • Windows 7 Eng 64Bit 與 VS 2005 Express
    • AMD 955 X4、12GB DDR3-1333
    • 耗時 45 分鐘
  • Windows XP 32Bit 與 VS 2005 Express
  • Windows XP 32Bit 與 VS 2005
  • Ubuntu 11.04 64Bit 之編譯 GTK+ 版
    • 躲在一台 AMD 945 X4、8GB 的 Win7 64Bit 裡的 VirtualBox ,分配 4 顆 CPU 和 2048 記憶體
    • 耗時 22 分鐘
  • Mac OSX 10.6 與 Xcode 4

整體上,編譯環境最容易設定的是 Mac OSX,但下載軟體還滿耗時:

  1. 下載安裝 Java for Mac OS X Developer Package (1xx MB) 和 Xcode 4 (4.x GB) 
  2. 取得 Webkit source code
  3. 執行 update-webkit
  4. 執行 build-webkit

第二好裝的是 Ubuntu 11.04 ,原先想說再 Ubuntu 10.04 裝,才發現 GLIB 版本不夠新,也才想起幾天前朋友安裝時,就有提過這種問題,不小心又走了回頭路一次:

  1. 安裝 Ubuntu 11.04 Desktop 64Bit
  2. sudo apt-get install autoconf automake autotools-dev bison flex gperf glib-networking gtk-doc-tools libenchant-dev libgail-3-dev  libgeoclue-dev libglib2.0-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libicu-dev libjpeg62-dev libpango1.0-dev libpng12-dev libsoup2.4-dev libsqlite3-dev libtool  libxslt-dev libxt-dev
  3. 編譯時又發現找不到 gail (明明裝了 libgail-3-dev 了),因此又多裝 libgail-dev 來搞定
  4. 取得 Webkit source code
  5. 執行 update-webkit --gtk
  6. 執行 build-webkit --gtk

至於 Win7 或 WinXP 的嘛,大概就照官網的安裝下去及調教,簡易筆記:

  1. vcsetup.exe
  2. VS80sp1-KB926748-X86-INTL.exe
  3. VS80sp1-KB971090-X86-INTL.exe
  4. PSDK-x86.exe
  5. cygwin-downloader.zip
  6. quicktimesdk.zip
  7. DXSDK_Feb10_exe
  8. 設定 VS 2005 Express 額外的 lib 或 header、設定系統環境變數以便找到 PSK 程式、設定 VCProjects 等

如果是在 WinXP 編譯時,應該還會碰到不少問題,細節請參考 Building Webkit on Windows

最後,提及一下關於 run-webkit-tests:

  • 新版指令: new-run-webkit-tests
  • 舊版指令: old-run-webkit-tests 或 run-webkit-tests

只測試某些 case ,如 writing-mode:

  • run-webkit-tests -v fast/writing-mode/

想看瀏覽器的圖(Pixel不見得會過):

  • run-webkit-tests -v -p fast/writing-mode/

當使用舊版指令執行時,在 Windows 上會要求設定字型目錄(WEBKIT_TESTFONTS環境變數),用到的字型可以在這邊查閱:

https://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/win/DumpRenderTree.cpp#L319

而這些字型大多是 Mac OSX 裏頭內建的,可以先把 /System/Library/Fonts 和 /Library/Fonts 的東西都複製到一個目錄,接著在 Windows 上使用 CrossFont 軟體(試用版15天免費)進行轉換即可,細節請參考 BuildingOnWindows#Font-metric-relatedfailures

關於跑 test case 的部分,若是在 Unix 環境可以試試 new-run-webkit-tests ,這跑起來比較快;在 Windows 上跑 new-run-webkit-tests 會碰到一些小問題,目前還沒著手去處理,暫時用舊版指令測試。

問題:WebKit/WebKitBuild/Release/bin/DumpRenderTree.exe: error while loading shared libraries: MSVCR80.dll: cannot open shared object file: No such file or directory

解法:請安裝 Safari 瀏覽器


, , , , , ,

changyy 發表在 痞客邦 PIXNET 留言(0) 人氣()