Open Source/webkit/chromium

WebKit/GTK 리눅스 빌드하기

소혼 2010. 4. 8. 23:42
반응형
WebKit에 대한 공부를 시작해 보려고 한다.
(last updated : 2012-02-21)

개발 환경은 우분투 11.10
gcc등은 이미 설치했다.

[WebKit 관련 모듈 설치]
(정리중 손빌드가 아닌 버전을 위해)
sudo apt-get install automake autotools libtool
flex bison gperf
sudo apt-get install gtk-doc-tools libgpg-error-dev intltool

sudo apt-get install libsqlite3-dev libxslt-dev libxtst-dev libicu-dev libgeoclue-dev icon-naming-utils libXt-dev
libgstreamer-plugins-base0.10-dev libgail-dev

[WebKit 다운로드]

먼저 Webkit을 하려면 소스부터 가져와야 한다.

WebKit 소스는 webkit.org(http://webkit.org/)의 svn 저장소에서 가져오거나 Nightly Build(http://nightly.webkit.org/)를 가져올 수 있다.

svn을 이용해 가져오는 법.(http://webkit.org/building/checkout.html)
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit

실행하면 약간의 시간이 걸려서 소스를 받을 수 있다.

소스를 받고 나면 필요한 모듈들을 설치해야 한다.
automake, autotools, libtool등을 apt-get install로 설치한다.
설치하는 김에 apt-get install gtk-doc-tools도 설치했다.


[JHBUILD 인스톨]

아래 명령을 실행한다.

./Tools/Scripts/update-webkitgtk-libs
webkit/gtk를 위해 추가적으로 설치해야 하는 것들을 자동으로 설치해준다.

설치된 파일들은 WebKitBuild/Dependencies 아래로 들어간다.

[WebKit 인스톨]
아래 명령을 실행한다.
/Scripts/Tools/build-webkit --gtk --release

패키지 의존성 등의 문제가 없다면 WebKitBuild/Release 아래에 설치가 완료된다.

(끝)
-----------------------------------------------------------------------------
* jhbuild 관련.
./autogen.sh --prefix /home/ryuan/workspace/webkit/webkit/WebKitBuild/Dependencies/Root --libdir '/home/ryuan/workspace/webkit/webkit/WebKitBuild/Dependencies/Root/lib'

WebKit 손(?) 인스톨 (옛날 자료)
(현재 폴더에서 Make를 실행할 수도 있다. 하지만 추천하지 않는다. clean 하는 작업이 꼬일 수 있다.)
설치하고 autogen.sh를 열어서 제일 아래 configure 명령을 주석(#) 처리했다.
이제부터 설치할때마다 나오는 많은 패키지 의존성 문제를 해결하고자 -_-;;

아래 두 명령을 수행후, 에러가 날때마다 적절한 패키지를 설치하고 다시 ./configure를 수행했다.
./autogen.sh
./configure

먼저 bison부터 문제 발생;;
apt-get install bison
그 다음엔 flex가 필요하다고 한다;;
apt-get install flex
다음엔 gperf
apt-get install gperf
이제 glib, gobject-2.0, gthread가 없단다.
귀찮아서 libgtk2.0-dev설치
apt-get install libgtk2.0-dev
다음 icu
apt-get install libicu-dev
다음 libxml
apt-get install libxml2-dev
다음 enchant
apt-get install libenchant-dev
다음 gail
apt-get install libgail-dev
다음 libXt
apt-get install libXt-dev
다음 libsoup
apt-get install libsoup2.4-dev

크, 여기서 문제 발생.. 최신 패키지로 설치할 때 웹킷이 요구하는 libsoup2.4-dev의 버전이 아직 우분투에 데비안화되어있지 않은 것 같다.

어쩔수 없이 libsoup은 소스 설치해야 할듯 ㅠ_ㅠ

내일 계속 해야겠다.

[LIBSOUP 설치]
libsoup을 설치하기 위해 tar를 가져올까 하다가, 어차피 버전이 뭔지 고민하고 할 필요 없어서 그냥 git에서 직접 가져오기로 했다. (http://live.gnome.org/LibSoup)

당연히 git는 설치되어 있어야 한다.
apt-get install git-core
git clone git://git.gnome.org/libsoup
이제 libsoup폴더에서 ./autogen.sh를 하니 또 에러 ;; 이번에는 GNOME_KEYRING이 문제다.
어차피 /usr 밑에 설치할 생각이었으니
./configure --prefix=/usr --without-gnome
make install

[WEBKIT 설치 계속]
다시 webkit을 빌드하니 이젠 sqlite3이 문제네 -_-
apt-get install libsqlite3-dev
다음엔 libxslt
apt-get install libxslt-dev
그 다음엔 gstreamer 씨리즈들 -_-
apt-cache search gstreamer*해도 너무 많이 나와서 뭐가 필요한지 잘 모르겠다
일단 dev인걸 검색해서
apt-get install libgstreamer0.10-dev
apt-get install libgstreamer-plugins-base0.10-dev (이건거 같다)
휴... 겨유 configure가 끝났다.


make install
이제 진짜 빌드 시작;;
근데 소스 코드부터 다시 땡겨와야 하나 -_-;


반응형