Sep 04, 2008

[Misc] Google Chrome on Mac OS X のビルドにチャレンジ

とりあえず Windows XP Professional では Google Chrome が動作したので、次は Mac OS X で動かないか調べてみた。 現時点(2008/09/04)では、 Google Chrome のサイトでは Mac OS X 用のバイナリは公開されていない。 が、ドキュメントを見ていたら Mac OS X でのビルド方法が公開されていた。 というわけで、さっそくチャレンジ。

Chrome Developer Documentation - Build Instructions (Mac OS X)
http://dev.chromium.org/developers/how-tos/build-instructions-os-x

Google Chrome のソースコードを入手

まずは depot_tools をダウンロードして実行できる様にする。

$ tar zxvf ./depot_tools_mac.tar.gz
depot_tools/.svn/
depot_tools/.svn/text-base/
depot_tools/.svn/text-base/gcl.svn-base
depot_tools/.svn/text-base/gclient.svn-base
depot_tools/.svn/text-base/hammer.svn-base
depot_tools/.svn/text-base/README.svn-base
depot_tools/.svn/prop-base/
  (略)
$ export PATH=`pwd`/depot_tools:$PATH
次に、depot_tools 内にある gclient を使用して Chrome のソースコードをダウンロードする。
$ mkdir -p ./src/trunk
$ cd ./src/trunk/
$ gclient config http://src.chromium.org/svn/trunk/src
checking out latest depot_tools...
$ gclient sync

________ running 'svn checkout http://src.chromium.org/svn/trunk/src src' in '/chrome/src/trunk'
A    src/sdch
A    src/sdch/using_sdch.vsprops
A    src/sdch/open_vcdiff
A    src/sdch/open_vcdiff/depot
A    src/sdch/open_vcdiff/depot/opensource
A    src/sdch/open_vcdiff/depot/opensource/open-vcdiff
  (略)
$
Chrome のソースコードがダウンロードできたら、XCode を使用してビルドを行う。
$ xcodebuild -version
Component versions: DevToolsCore-921.0; DevToolsSupport-893.0
$ xcodebuild -project ./src/trunk/src/webkit/tools/test_shell/mac/TestShell.xcodeproj
2008-09-04 00:50:54.203 xcodebuild[22183:613] NOTE: Referenced project Skia was written by a newer Xcode version (45) -- temporarily downgrading it (without modifying project file)
2008-09-04 00:50:54.254 xcodebuild[22183:613] NOTE: Referenced project net was written by a newer Xcode version (45) -- temporarily downgrading it (without modifying project file)
  (略)
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:75: error: ‘v8’ has not been declared
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:75: error: expected constructor, destructor, or type conversion before ‘<’ token
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:82: error: ‘v8’ has not been declared
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:82: error: ‘char**’ is not a template
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:82: error: ‘v8’ has not been declared
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:82: error: ‘Value’ was not declared in this scope
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp: In static member function ‘static bool WebCore::V8BarInfo::HasInstance(char**)’:
/chrome/src/trunk/src/webkit/build/Release/DerivedSources/v8/bindings/V8BarInfo.cpp:83: error: ‘GetRawTemplate’ was not declared in this scope
** BUILD FAILED **
$ 
ビルド失敗 orz コマンドラインではなく XCode の GUI からもビルドしてみたが、結果は同じ。 Chrome のソースコードを gclient でダウンロードしたものではなく、tar.gz で公開されているものにしてみたが、それでもだめ。

・・・で。

結局現時点では Mac OS X 版をビルドすることはできない様だ。 中の人がブログで Mac OS X 版の現状を説明していた。 モジュール単位ではビルドできるらしいが、全体のビルドは無理とのこと。 残念。 早く Mac OS X 版が出て欲しいものだ。

Google Mac Blog - Platforms and Priorities
http://googlemac.blogspot.com/2008/09/platforms-and-priorities.html
When it comes to Mac and Linux versions, this means that our goal is not to just "port" a Windows application to these other platforms--rather, our goal is to deliver Chromium's innovative, Google-style user interface without rough edges on any of them. Chromium's overall design has been multi-platform from the start, but we are also committed to getting the details right for users on each platform.

(略)

Right now, both are in the "pieces build and pass tests, but there's no Chromium application yet." While we're working hard and fast on catching up to the Windows version, we're not setting an artificial date for when they'll be ready--we simply can't predict enough to make a solid estimate, and we expect to learn a lot from the Windows public beta as well. On the plus side, since the project is now public, you'll be able to watch (and maybe even contribute to) the progress from week to week. As these versions stabilize, we will create official betas, much as we are now for the Windows version. While we can't give any dates yet, we'll keep everyone informed as we get closer.

Posted in Misc | このエントリーをはてなブックマークに追加 | この記事をクリップ! livedoor クリップ |