Contents
1. Overview
이 문서는 OpenOffice 2.0.2 source를 가지고 Win32 binary를 build하는 방법을 다룬다. build를 위한 전체과정을 요약하면 다음과 같다.
- compiler, SDK, library 등을 받고 설치한다.
- 소스를 받아 압축을 풀고 설정한 후 build를 시작한다.
- build가 완료되면 packaging 되어 있는 EXE를 실행하여 OpenOffice.org를 설치한다.
OpenOffice.org를 build하는 것은 어려워 보이지만 실제로 해 보면 그다지 어려운 것은 없다. 다만 Windows를 Linux환경으로 emulating해서 build 하기 때문에 Linux에 관련한 전반적인 지식을 습득하면 유용할 것이다. 자 그럼, 이제 시작해보자…
2. Build Requirements
2.1. Hardware Requirements
원문에서는 다음과 같은 사양을 최소사양으로 한다.
- Intel Pentium II PC
- 128MB RAM (more recommended)
- 4GB free disk space (8GB for crashdump)
그러나 이런 사양에서 빌드한다면 아마 한달은 걸릴 것이다.
이것은 어디까지나 최소사양일 뿐이고 권장사양을 적어보겠다.
- Intel Pentium IV 2.4Ghz 이상
(HyperThreading이 가능한 CPU는 HyperThreading을 끄고 build하는 것이 좋다. HyperThreading이 활성화 된 상황에서 build를 할 경우 문제가 발생하는 것으로 알려져 있다. – 자세한 내용 ) - 1GB RAM (多多益善 – 많으면 많을 수록 좋다.)
- 10GB 이상의 여유공간
(Build 후 사용된 공간은 약 8GB 정도 된다. 여기에 각 module을 debugging하기 위해서 Debug Mode로 compile을 한다면 용량은 더 커질 것이다.)
2.2. Software Requirements
- Operating System
Windows XP Professional SP2 추천. 98, me는 build가 불가능하다. 그 이상은 다 가능하겠지만, XP Pro SP2가 가장 안정적일 것 같다.
- Compiler
Visual Studio .NET 2003 Professional 이상
M$에서 무료로 download 받을 수 있는 Visual C++ Toolkit 2003(=Visual C++ 2005 Express Edition)으로는 compile이 불가능하다.
- Library
1) Platform SDK (Download)
M$에서 제공하는 library를 사용할 수 있게 해주는 Development Kit.
OS 정품 사용자인지 확인을 하고 정품 사용자일 경우에만 download가 가능하다. SDK download와 정품 인증과는 무슨 상관관계가 있는지…
Platform SDK에서 다음 항목을 반드시 설치해야 한다.
- Microsoft Windows Core SDK (64bit 환경과 툴은 필요하지 않다.)
- Microsoft Web Workshop (IE) SDK
- Microsoft Internet Information Server (IIS) SDK
- Microsoft Data Access Services (MDAC) SDK
- Microsoft DirectShow SDK
Important note : Platform SDK 2005 april version을 사용하면 다음과 같은 문제가 있기 때문에 $PSDK_HOME/Lib/libcp.lib의 이름을 임시로 바꾼다.
2) DirectX 9.0 SDK (Download)
OpenOffice.org는 Win32 환경에서 DirectX를 Wrapping한 XCanvas를 통해 화면에 그리기를 수행한다. DirectX를 사용하도록 컴파일 하기 위해서 DirectX SDK를 설치한다.
Important note : 설치시 설치 폴더 이름을 짧게 하고 space가 들어있지 않게 한다. Space가 들어있을 경우 나중에 build 환경을 구성할 때 문제를 발생시킨다. (나의 경우 c:\DirectXSDK 에 설치했다.)
3) Java 2 SDK (Download)
Java 2 SDK 1.4.2가 필요하다. Java 5,6는 아직 사용이 불가능 하다.
- Build Tools
1) Ant (Download)
Ant는 Java의 Make utility이다.
설치방법 :
- 받은 Binary 압축 file을 C:\에 푼다. (ex) C:\ant
- 제어판 -> 시스템 -> 고급 -> 환경 변수 에 사용자 변수로 다음을 추가한다.
1 2 | 변수 : ANT_HOME, 값 : C:\ant 변수 : PATH, 값 : %PATH%;%ANT_HOME%\bin |
2) Cygwin (Download)
Cygwin은 Windows에서 Linux와 유사한 환경을 구현해 주는 것이다. 사용할 version은 1.5.10이상이어야 하며, 1.5.18은 피하기 바란다.(빌드 과정 중에 cabextract.exe 실행 되는 경우 빌드가 멈춤 상태가 되는 문제가 있다.)
Cygwin 설치 문서는 여기를 참고하고, 유의할 점은 설치시에 Default Text File Type은 Unix로 설정해야 한다. 물론 기본으로 선택 되어있다.
Cygwin의 모든 패키지를 설치할 필요는 없고 기본적으로 설치되는 패키지 외에 아래의 패키지만 설치하면 된다.
bision, flex, make, patch, perl, gcc, rxvt, tcsh, unzip, zip, cabextract (설치하면 유용한 패키지 : util-linux, vim)
Important note : Cygwin shell 안에서는 Symbolic link가 허락되지만, Windows에서는 Symbolic link의 개념이 없으므로 컴파일 시에 Visual C++ compiler가 인식하지 못한다. 그래서 Cygwin shell을 실행시킨 후, 아래와 같이 build에 사용되는 실행 파일의 Symbolic link를 지우고 link가 가리키고 있는 실제 파일을 복사해서 대체해 준다.
1
2
3
4 $ rm /usr/bin/awk.exe
$ cp /usr/bin/gawk.exe /usr/bin/awk.exe
$ rm /usr/bin/gunzip.exe
$ cp /usr/bin/gzip.exe /usr/bin/gunzip.exe
3) Perl Module
OpenOffice.org를 build하기 위해서 Perl의 확장 module을 사용한다. 필요한 module은 Perl의 CPAN을 이용해서 컴파일해서 설치하게 된다. CPAN의 사용법은 여기를 참고하라.
빌드에 필요한 모듈 :
- XML::Parser : XML로 된 Build List를 위해 XML Parser Module을 사용한다. 기본으로 설치되어 있다.
- Archive::Zip : Image list를 압축하기 위해 사용한다. CPAN을 이용하여 설치할 것.
설치 방법 :
1 | $ perl -MCPAN -e shell |
기본적인 CPAN의 설정을 위한 질문이 나온다. 디폴트로 값이 정해지도록 enter key로 질문을 넘긴다. 질문 중간에 download 받을 mirror의 주소를 질문하는데 그 중에서 Asia -> South Korea -> Freebsd server를 선택하도록 한다.
1 2 | cpan> install Archive::Zip cpan> quit |
- Miscellaneous
1) Windows의 Temp directory 변경
Build 과정 중 MSI installer로 OpenOffice.org package를 만들 때 error가 나는 경우를 대비하기 위해서 Temp directory를 변경한다.
C:\temp를 만들고, 제어판 -> 시스템 -> 고급 -> 환경 변수 에 사용자 변수로 다음을 추가한다.
1 2 | 변수 : TEMP, 값 : C:\temp 변수 : TMP, 값 : C:\temp |
3. More..
이제 build를 할 수 있는 환경이 갖추어 졌다. Source를 가지고 compile및 설치하는 내용은 Part2에서 다룰 것이다.
– God Bless..
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.0 Korea.
이 Post와 연관된 Posts:
|
|


