- ウェブリンク
- メールスレッド
- OpenOffice.org 3 MinGW+tcsh Build; cygwinに関して、cygwin のインストールを参照していいでしょう
- Visual C++ 2005におけるビルド手順
ビルドの具体例
- Building OpenOffice.org 2.x (680er/300er series) under Windows with tcsh
Beware! The build instructions for OpenOffice.org 1.1.x (and older) are different!
Last changes made: $Date: 2008/11/13 15:06:36 $
This document describes the requirements and actions that you need to build OpenOffice.org on Windows using Cygwin shell.
Commands you have to type on the keyboard follow this syntax throughout this document:
config_office> ./configure
In this example, the script
configure
is executed in the directoryconfig_office
.Since OpenOffice.org 2.1.x (SRC680_m175) it is possible to use bash instead of tcsh. This has to be enabled with the
--with-use-shell
configure switch. The following instructions are for the tcsh case but the savy *NIX user should be able to guess the needed changes. The environment file for bash adds an additional.sh
suffix to the tcsh environment filename.$SRC_ROOT
will denote the directory in which the source code of OpenOffice.org is stored.Table of Contents
- Overview
- Build Requirements
- Build Instructions
- Instructions to Build an Installation Set
- Building Localized Versions of OpenOffice.org
- Building Localized Language Packs
Overview
This section is meant as a reminder or checklist for those who have some experience in building OpenOffice.org. Everybody else should jump to the Build Requirements section.
Even experienced builders are well advised to check the release notes at http://development.openoffice.org/releases/2.0.0rc2.html and the section Build Requirements in this document to inform yourself about changes since the previous releases.
Detailed step-by-step build descriptions are given from the next section on.
Overview of Performing a Full Build
To perform a full build, you need to follow these steps:
- Get the source code, either from the download webpage (http://download.openoffice.org/680/index.html) or alternatively via a check-out from the cvs tree against a release tag, e.g. OpenOffice_2_0_0.
- Run the
configure
script to check all requirements and to create the scriptwinenv.set
. - Source the
winenv.set
script to set all environment variables.Please see the last screen from the configure script for more specific information on setting up for your platform.
- Create the build tools using
bootstrap
. - Recompute tcsh's directory hash using
rehash
. - Build typing
dmake
in$SRC_ROOT
, orbuild --all
in theinstetoo_native
module, orbuild
followed bydeliver
in the individual modules.
Build Requirements
Before you start building, you must ensure that your system satisfies the recommended software and hardware requirements for the type of system you are working on. For Windows, these are as follows:
Software Requirements
- Windows 2000 SP 2 or higher ,Windows XP or Windows Vista
- A Microsoft Visual C++ .NET Compiler . MS Visual C++ .net 2003 (not for free available) is currently used for the official builds but Microsoft Visual C++ 2005 Express Edition (free download, as in free beer) is also expected (but not guaranteed) to work. See additional build instructions at: MS Visual C++ 2005 Express
- A Microsoft Platform SDK. The Sun provided builds use the following parts of the February 2003 version of the Microsoft Platform SDK (including the 64-bit build environment if possible): The MDAC SDK, the Core SDK, the Internet Development SDK and the Windows Installer SDK.
Unfortunately that SDK is no longer available for download from Microsoft. The current version of the Platform SDK (Microsoft Windows Server 2003 SP1 Platform SDK - April 2005 Edition) can be downloaded from here. The following parts have to be installed:- Microsoft Windows Core SDK
(The 64-bit Build Environment / 64-bit Tools are not needed) - Microsoft Web Workshop (IE) SDK
- Microsoft Internet Information Server (IIS) SDK
- Microsoft Data Access Services (MDAC) SDK
- Microsoft DirectShow SDK
- Platform SDK Redistributable: GDI+
- Microsoft Windows Core SDK
- A DirectX 9.0 SDK. The Sun provided builds use DirectX 9.0 SDK Update - (Summer 2004) but that is no longer available for download from Microsoft. The current version of the DirectX SDK
- DirectX SDK - (February 2006)
- A Java 2 SDK is required. JDK 1.5
Note: Java 6.0 (JDK 1.6.0) is supported starting from DEV300_m13 (OOo 3) - Cygwin Toolkit from http://www.cygwin.com. Use at least Cygwin DLL version 1.5.10. The official information about using setup.exe and installing Cygwin are available at: http://cygwin.com/cygwin-ug-net/setup-net.html. More help and information on the Cygwin tools can be found at http://website.openoffice.org/support/en/howtos/1.html.
When installing Cygwin make sure you set the "Default Text File Type" to "Unix". This is the default setting.
Not all Cygwin packages are needed to build OpenOffice.org, but make sure that at least all the packages from the base category and the following packages are installed.
bison
flex
make
patch
perl
And also:gccImportant Note: Within the Cygwin Toolkit, three executables might be realised as symlinks, namely awk.exe, gunzip.exe and tar.exe. This might lead to a break of the build later, and the symlinks should be replaced with copies of the command they link to. Check, in a cygwin shell, with ls -l /bin/awk.exe whether awk.exe is a symlink. For instance, awk.exe could be a link to gawk.exe, in which case you should copy gawk.exe to awk.exe: cd /bin; cp gawk.exe awk.exe. Take similar action for unzip.exe and tar.exe.
rxvt
tcsh
unzip
zipImportant Note: If you are using cygwin-1.5.18, you may have to download a development snapshot of the cygwin1.dll from http://cygwin.com/snapshots/, please see issue i#51560# for more details. If you do not do this, your build will hang while building 'instsetoo_native'.
- The gpc general polygon clipper library release 2.31, located at http://www.cs.man.ac.uk/aig/staff/alan/software/. Download and unpack the tarball. You should have the files gpc.c and gpc.h in
$SRC_ROOT/external/gpc
. - The Microsoft Layer for Unicode (unicows.dll). Get it from the Microsoft site and put it into
$SRC_ROOT/external/unicows
. (Note: Microsoft seems to enjoy changing the exact location of this file. You may have to search Microsoft's website.) Last time it was seen here. - The dbghelp.dll from Microsoft. Get it from the Microsoft site and put it into
$SRC_ROOT/external/dbghelp
. (Note: You may have to search Microsoft's website.) Last time it was seen here. - Ant Is required. This is a Java make utility.
- Nullsoft Scriptable Install System (NSIS)
This is optional, if available a self contained Windows installer is created in addition to the MSI installer files. - Mozilla libraries
Some Mozilla libraries are needed. Choose one of the following three options.- Build the libraries
Get the source from here, copy it into$SRC_ROOT/moz/download
and configure will detect the source archive. - Use prebuild libraries
Place WNTMSCI{inc,lib,runtile}.zip into$SRC_ROOT/moz/zipped
. You have to configure with--disable-build-mozilla
to enable the use of the prebuild libraries. The files can be found here or can be reused if the packages were build following the instructions of the previous point. In the latter case they can be found in$SRC_ROOT/moz/wntmsci10.pro
of a successfull build. - Don't use the libraries
By using the --disable-mozilla switch for configure you waive the extra functionality.
- Build the libraries
Perl Module requirements
This is a list of the perl modules that have to be installed.
Important Note: No, these modules are not automatically included in the Cygwin perl installation. Use the link above to learn how to install them.
Please note that CPAN is not able to deal with usernames containing spaces. To work around this fact, when CPAN asks you to specify the CPAN build and cache directory, change the default suggestion to/cpan
.Module: Used for: Archive::Zip packing image lists, evtl. for further zipping needs XML::Parser expat based parser for the new XML based build lists Perl - Additional CWS tooling requirements
For committers who want to use the CWS tooling
Module: Used for: Crypt::SSLeay for SSL encrypted SOAP connections. Note: It needs the openssl-devel cygwin package to be installed. LWP::UserAgent a requirement for SOAP::Lite that is not automatically installed. Install it or the install of SOAP::Lite will fail. SOAP::Lite access the SOAP based CWS webservice. Hardware Requirements
- Intel Pentium II PC
- 128 MB RAM (More recommended)
- 4 GB free disk space (8 GB for crashdump)
External Components
The code contains some further external components which are already provided. If you are interested in details about these, look at the External Components webpage at http://tools.openoffice.org/ext_comp.html.
Get the source code
You have two options to get the source code:
- Download the source code tarball (http://download.openoffice.org/3.0.0/source.html), e.g.
OOo_3.0.0_src_core.tar.gz
in case of the 3.0 stable release.Unpack the tarballs as follows:
> tar -xvzf OOo_3.0.0_src_core.tar.gz
> cd OOO300m9This will be $SRC_ROOT from now on. Please check the OpenOffice.org Wiki for more detailed information about the source tarballs.
- Another possibility is to check out the code from the cvs tree. If you don't have a username and password, you can still do a checkout as
anoncvs
:> cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs login
Just press enter when prompted for the password.> cd $SRC_ROOT
The non-bold slash means that the command should be in one line. It is possible to update an already existing older copy to a newer release:
$SRC_ROOT> cvs /
-d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs /
co -r OpenOffice_3_0_0 OpenOffice3$SRC_ROOT> cvs /
-d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs /
update -r OpenOffice_3_0_0 OpenOffice3 - If you're only interested in building individual modules, you won't need the entire source code. You can check out individual modules from the cvs tree:
$SRC_ROOT> cvs /
-d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs /
co -r OpenOffice_3_0_0 (module-name) -
A note on the tags (i.e. the argument to the -r option in the cvs commands listed above): If HEAD is used as a tag, you will get the newest latest source code. This, however, will most likely not build since development is going on there. See http://tools.openoffice.org#CWS for a description of the development process with child workspaces and Environment Information System for the current child workspaces and milestones.
Generating the Build Environment and Build Tools
The
configure
script to check/prepare the build environment. It checks that all software, hardware, and system requirements for the build are satisfied, and creates a configuration file calledwinenv.set
that is used to set all necessary build environment variables. See the example below.This configuration file is created in the
SRC_ROOT
directory. A top-level makefile scriptmakefile.mk
and the scriptbootstrap
from theconfig-office
directory are moved intoSRC_ROOT
as well. This is due to technical reasons: TheSRC_ROOT
directory in the cvs tree can only hold directories. On the other hand, the top-levelmakefile.mk
should logically be placed in the top-level directorySRC_ROOT
. The cvs tree holds these files inconfig_office
andconfigure
copies them up.Before running configure, make sure that all needed Programs are in the system path or start configure with the appropriate command line switches.
The following should demonstrate in detail what steps have to be done to set up the environment. For this examples we assume that
- the source code is in
C:\OOO300_m9
- JDK 1.4.1_02 is installed in
C:\j2sdk1.4.1_02
- the Microsoft Compiler is located in
C:\PROGRA~1\MICROS~1.NET\Vc7
(orc:\Programme\Microsoft Visual Studio .NET 2003\Vc7
) - the Microsoft SDK is located in
C:\PROGRA~1\MICROS~5
Other Shells - Example
You are able to enable the use of tcsh with--with-use-shell=tcsh
or the use of bash with--with-use-shell=bash
.To run the
configure
script, type the following command:$SRC_ROOT> cd config_office
config_office> ./configure --with-cl-home="/cygdrive/c/Programme/Microsoft Visual Studio .NET 2003/Vc7"
--with-jdk-home=/cygdrive/c/j2sdk1.4.1_02 --with-use-shell=tcshThere are a number of options that you can use with the
configure
script. To display these options, type the following command:config_office> ./configure --help
After running
configure
, you have to continue in a tcsh shell:$SRC_ROOT> tcsh
To create the dmake make utility that is needed for the build of OpenOffice.org type the following command:
$SRC_ROOT> ./bootstrap
Now source the configuration file which sets all environment variables:
$SRC_ROOT> source winenv.set
Don't forget to run
$SRC_ROOT> rehash
afterwards.
If you experiment with the newest sources from the cvs-tree, mind that updates to the configure process may not happen via updates of
configure
(the script file) but via the filesconfigure.in
andset_soenv.in
. The configure script itself is created fromconfigure.in
using theautoreconf
command. The perl script set_soenv is created when you run configure from set_soenv.in.If you need to modify or create a correct configure you would run commands like the following:
$SRC_ROOT> cd config_office
To update the
config_office> cvs update configure.in
config_office> autoreconfconfigure
script. If you only use code from the snapshot releases on the web, you don't need to be concerned about this.Build Instructions
Building a Full Build of the Office Suite
Now you are ready to build OpenOffice.org. To build the entire suite, all you have to do (after having created the environment as described above) is to run dmake from the top-level directory. This may take several hours.$SRC_ROOT> dmake
If you wish to control the build more you can perform a build with local install sets or tarballs.
- instsetoo_native will create rpm's or the actual delivery package for your platform.
- instsetoo will create a single tar file containing the build however it is deprecated.
cd $SRC_ROOT
cd instetoo_native
build --allIf you decide to rebuild a module or build each module individually (mind dependencies!), you will have to use the
build
tool. A subsequentdeliver
will copy all created binaries, libraries etc. into the solver tree:$SRC_ROOT/(module)> build
$SRC_ROOT/(module)> deliverThe following table shows the time required to build on a system with a particular specification. You can use these details to estimate the time required to build on your system.
Architecture Intel Processor Athlon XP1700 Processor speed 1466 MHz RAM 512 MB Hard Disk 160 GB 7200 RPM IDE Time (for SRC680_m86) ~17 h Building a Project with Debug Information
To rebuild a complete project with debug information, remove all object files by removing the
wntmsci10.pro
directory. Then runbuild
with the debug option set to true:$SRC_ROOT/(module)> rm -rf
$SRC_ROOT/(module)> build debug=trueInstructions to Build an Installation Set
The build process (started with a top-level
dmake
orbuild --all
in$SRC_ROOT/instsetoo_native
) will create an installation sets in English. A simplebuild
in$SRC_ROOT/instsetoo_native
will also create the installation sets, provided all other modules are already built.If you have built an installation set earlier and want to re-build it, please delete the local outpath first:
$SRC_ROOT/instsetoo_native> rm -rf wntmsci10.pro
The English installation set will be located at
$SRC_ROOT/instsetoo_native/wntmsci10.pro/OpenOffice/install/en-US
. Execute thesetup
binary to install:$SRC_ROOT> cd instsetoo_native/wntmsci10.pro/OpenOffice/install/en-US
The en-US in the path names indicates that the localization is American English. This value corresponds to the language tags defined by RFC 1766 (Tags for the Identification of Languages). The German installation set will be located in a de subdirectory. This scheme holds true for all localizations you may have chosen explicitly (see next section Building Localized Versions of OpenOffice.org).
en-US> setup.exeFor a network installation, use the
-net
option tosetup
. Details on the network installation process can be found at http://installation.openoffice.org/proposals/netinstall.html in the installation project webpage.For information on creating an automated installation script and create a response file.
Building Localized Versions of OpenOffice.org
Running the configure script with the --with-lang option will introduce the build of additional language resources. This switch accepts one or more RFC 1766 language tags as arguments, unfortunately not all languages are supported. Check the value of the
completelangiso
macro in$SRC_ROOT/solenv/inc/postset.mk
for all the currently supported language tags.Example:
--with-lang="de fr"
enables the build of the localized german and french version.The environment variable
WITH_LANG
will then contain the language tags of the additional (en-US will always be build) languages.Building Localized Language Packs
If you build additional localized languages it is possible to generate Language Packs that contain only the changes needed to add the additional language to an OpenOffice.org of a different language.
The following commands will generate language packs languages that were specified with the --with-lang switch during the configure phase. Note that you can only build the language packs after you have build the complete office with all selected languages.
$SRC_ROOT> cd instsetoo_native/util; dmake ooolanguagepack
- WindowsでOpenOffice.org 2.0をビルドする方法
このドキュメントではOpenOffice.org 2.0系の日本語版をビルドします。現在、OpenOffice.org 2.0は開発段階であり、SRC680というコードにより開発されています。また、1.9と表記する場合もあります。開発段階であるため、多くの環境では ビルドの途中でエラーが起こったりしますが、それらはあなたがビルドしているその間にも議論検討がなされ、解決しています。ビルド中にエラーが起こった場 合には、[[ FAQ ]]を参照してください。
ビルドに必要なものは以下にリストしてありますが、この他にビルドするための時間が必要です。OpenOffice.orgのソースコードは圧縮して約200MBほどになります。このソースコードをダウンロードするのにも時間がかかりますし、解凍するのにもそれなりの時間がかかります。さらに、マシンの性能にもよりますが、OpenOffice.orgのビルドには約25時間かかります。
ビルドの概要
ビルドは以下の手順で進めます。- ビルドに必要なものを入手し適切な場所に用意します。
- 日本語環境でのビルドのための修正を行います。
- ビルドの環境設定を行います。
- ビルドの実行を行います。
ビルドに必要なもの
ハードウェア
ハードウェアの条件は英語版ドキュメントによれば以下の通りです。- Processor : Intel Pentium II
- RAM : 128Mバイト以上推奨
- Hard Disk : 4G Byte以上の空き容量 (crashdumpのビルドを有効にした場合は8G Byte以上が必要)
ソフトウェア
Windows版をビルドするには以下のソフトウェアが必要になります。
すべてオープンソースでビルドできるのが理想的なのですが、残念ながらそうはいきません。最初の二つはオープンソースでなく、しかも有償のソフトです。- Windows NT 4.0 SP3 もしくはそれ以降
筆者の環境は、Windows XP Professional(SP2)です。
- Microsoft Visual C++ .NET 2003
筆者の環境は J2SDK 1.4.2_06です。
- Cygwinツールキット
Windowsで*unix*互換のツールを動かす環境とコマンドツール群のキットです。
Cygwin DLLのversionが1.5.10以上のものが必要となっていますが、最新のものを入手すればほぼ大丈夫でしょう。
Cygwinの中で必要となる主なものは、bash、tcsh、bison、flex、make、gawk、gcc、gzip、patch、tar、perl、unzip、zipなどです。
cvsリポリトジからソースファイルを入手する場合にはcvsも必要となります。 デフォルトのままではインストールされないものもあるのでよく確認してインストールして下さい。
また、インストールの際に改行コードの扱い方の選択をするところがありますがデフォルト(Unix)のままでインストールして下さい。シンボリックリンクされたコマンドに関して
Cygwin ツールキットのコマンドの中には*uinx*互換のシンボリックリンクになっているものがあります。
4NTシェルではそれらのシンボリックリンクが扱えない為、configureではビルドの際に使用するコマンドがシンボリックリンクの場合、エラーではじくようにしています。
その為、該当のファイルをリンク先のファイルからコピーして、シンボリックリンクではない状態にしておく必要があります。
Cygwinのシェルで、以下の様に実行し、それらを修正して下さい。cd /usr/bin && for files in awk.exe tar.exe gunzip.exe; do cp -p $files $files.new && rm $files && cp -p $files.new $files && rm $files.new; done
Cygwinのzipに関して
Cygwinのzipに関しては確認が必要です。
バージョン2.3-1以前のものでは、正常にセットアップできるインストールセットが作成できません。
1. cygcheck -c zipとしてバージョン2.3-2以上である事を確認して下さい。$ cygcheck -c zip
2. zip -vとした時に以下のように表示される事を確認して下さい。
Cygwin Package Information
Package Version
zip 2.3-2
Use -h to see help about each sectionCopyright (C) 1990-1999 Info-ZIP
特に、「(cygwin special) for Unix (Intel 386)」あたりが確認する為の重要なポイントです。
Type 'zip "-L"' for software license.
This is Zip 2.3 (November 29th 1999), by Info-ZIP.
Currently maintained by Onno van der Linden. Please send bug reports to
the authors at Zip-Bugs@lists.wku.edu; see README for details.
Latest sources and executables are at ftp://ftp.cdrom.com/pub/infozip, as of
above date; see http://www.cdrom.com/pub/infozip/Zip.html for other sites.
Compiled with gcc 2.95.3-5 (cygwin special) for Unix (Intel 386) on May 12 2002.
Zip special compilation options:
USE_EF_UT_TIME
Zip environment options:
ZIP: [none]
ZIPOPT: [none]アセンブラは、Visual C++ もしくは、Visual Studioと一緒にすでにインストールされている可能性があります。
必要なファイル(ML.EXEと、ML.ERR)の所在を確認してみて下さい。
存在しない場合は上記のリンク先にフリーなバージョンを入手する方法があります。
入手したら、パスの通ったフォルダにML.EXEと、ML.ERRをコピーして下さい。- Microsoft Platform SDK(February 2003)
Microsoft Platform SDKのなかで必要なものはMDAC SDK、CORE SDK、INTERNET SDK、WINDOWS INSTALLER SDKです。
通常はVisual C++のインストール時に一緒にインストールされているはずです。
- DirectX 9.0 SDK Update(Summer 2004)以降
2.0 Code Lineからは、DirectX 9.0 SDKも必要となりました。
- Microsoft Layer for Unicode - unicows.dll
Windows 95/98/MeではWindowsのUNICODE APIについてはごく限定されたものしかサポートされません。
これを補完するのがこのDLLで、再配布可能なファイルとしてマイクロソフトが提供しています。
あらかじめ開発環境でWindowsディレクトリに入れておきます。- gpc 一般多角形クリップライブラリ リリース 2.31
zipアーカイブをダウンロードして解凍し、ライブラリに含まれるソースコードからgpc.cとgpc.hをソース展開後のディレクトリのexternal/gpcにコピーします。
(これは後述のスクリプトで実行されます)アーカイブファイルをダウンロードして、configureを実行する時に指定する --with-ant-home の指定先に展開しておきます。
- CPAN - Perl zip module Archive-Zip , Compress-Zlib
perlのzipモジュールも必要です。
Archive-ZipとCompress-Zlibのアーカイブファイルを入手し、それぞれを展開した後に次のようにしてビルド & インストールしておきます。$ perl Makefile.PL
$ make
$ make test
$ make installソースコードの入手
現在、OpenOffice.org 2.0のソースコードはtarボールにより提供されていません。CVSレポジトリよりダウンロードする必要があります。以下のようなコマンドによりダウンロードができます。ちなみに、OpenOffice.org 2.0の開発はHEADブランチで進んでおり、マイルストーンごとにSRC680_m62といったようなタグがうたれていま す。${BRANCH_TAG}にはこのタグを指定してください。62という数字はマイルストーン番号であり、2週間おきにマイルストーンが設定されてい ます。また、これよりソースコードのディレクトリを${SRC_ROOT}とします。
$ mkdir ${SRC_ROOT}
ディレクトリ名に空白を含むパスの下にソースファイルを展開すると、ビルドの際にトラブルの原因となるかもしれませんので避けるようにしましょう。
$ cd ${SRC_ROOT}
$ export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
$ cvs co -r ${BRANCH_TAG} OpenOffice日本語環境でのビルドのための修正
OpenOffice.orgの原型はドイツで開発され、ソースコード内の文字(列)定数およびコメントにドイツ語で使用される0x80以上のラテン文字が含まれます。
また現在、OpenOffice.org内部では文字コードとしてUNICODE(UTF-8)が使用されています。
これらの文字の一部には日本語版のマイクロソフトVisual C++のプリプロセッサ及びコンパイラで日本語シフトJIS文字の一バイト目と解釈されてしまい、次に続く改行文字やコンパイラで解釈される特殊文字が正しく解釈されない場合があります。ほとんどのソースファイルでインクルードされる${SRC_ROOT}/sal/inc/sal/config.hに$pragma setlocale("C")という一行を追加する事によって日本語シフトJIS文字と解釈しないようにする事が出来ます。
ただし、一部のプロジェクトは例外となります。
具体的には、hwpfilterの以下のファイルです。
- ${SRC_ROOT}/hwpfilter/source/fontmap.cpp
- ${SRC_ROOT}/hwpfilter/source/hcode.cpp
- ${SRC_ROOT}/hwpfilter/source/hinfo.h
- ${SRC_ROOT}/hwpfilter/source/hpara.h
- ${SRC_ROOT}/hwpfilter/source/hwpeq.cpp
(筆者は、EmEditorにて確認しました。)ビルドの環境設定
環境設定は Cygwinツールキットの中で bash(bourne again シェル)でコマンドを走らせて実行します。
ですが、その前に開発環境の設定をしておかなければなりません。
環境変数includeおよびlib、pathがきちんとに設定されているのを確認して下さい。
もし設定されていなければ、この段階で設定しておきます。
以下は、筆者の場合の設定例です。INCLUDE=C:\Program Files\Microsoft SDK\Include;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\ATLMFC\INCLUDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\INCLUDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\include
LIB=C:\Program Files\Microsoft SDK\Lib;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\ATLMFC\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\LIB;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\lib
Path=C:\WINDOWS\System32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SDK\Bin;C:\Program Files\Microsoft SDK\Bin\WinNT;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE;C:\Program Files\Microsoft Visual Studio .NET 2003\VC7\BIN;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools;C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin;C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322;C:\Program Files\ConvertDSWSetup;C:\cygwin
configureの実行
次にconfig_officeディレクトリに移り、./configureを行ないます。このときに適宜./configureにオプションをつけてください。./configureで設定できるオプションは
$ ${SRC_ROOT}/config_office
$ ./configure --helpで見ることができます。必要なものにリストしたプログラムについては上記の設定例のようにPATHに通しておき、(cygwin内で)JAVA_HOME やANT_HOMEも設定しておけば特にオプションをつける必要はないでしょう。ただし、日本語版をビルドする際には、--with-lang=jaオプ ションが必要です。この場合、日本語版と英語版の両方がビルドされます(英語版はデフォルトでビルドされます)。
cd ${SRC_ROOT}/config_office
./configure --with-lang=jamakeする前に
環境変数の設定とビルド環境の構築をします。bashを使っているならば${SRC_ROOT}にあるwinenv.set.shを、tcshを使ってい るならばwinenv.setを取りこみます。そして、bootstrapをしてdmakeなどのツールを生成させます。
$ cd ${SRC_ROOT}
$ source ./winenv.set.sh (bashの場合)
$ source ./winenv.set (tcshの場合)
$ ./bootstrapビルド開始
これでビルドの準備は整いました。dmakeコマンドでビルドを開始します。
dmake
dmakeを始めたら、あとはただ待つのみです。Pentium 4 2.4GHz, メモリ512Mでだいたい25時間ぐらいかかりました。
ビルドのログ
ビルドのログをとる場合、やり方はいろいろありますが例えば、$ dmake 2>&1 | tee ログファイル名
等とします。ビルドが終了したら
エラー出力がなく、最後までビルドが終ったら${SRC_ROOT}/instsetoo_native/wntmsci10.pro/OpenOffice/install/ja
(ただし、一部のパッケージがビルド出来なかった場合などは、${SRC_ROOT}/instsetoo_native/wntmsci10.pro/OpenOffice/install/ja_witherror)
以下にOpenOffice.orgのインストールパッケージが出来ています。$ cd ${SRC_ROOT}/instsetoo_native/wntmsci10.pro/OpenOffice/install/ja
$ setup.exeとすると、OpenOffice.orgがインストールされるはずです。
このインストールパッケージを他の人に配布するには
$ cd ${SRC_ROOT}/instsetoo_native/wntmsci10.pro/OpenOffice/install/ja
$ zip ${SRC_ROOT}/OOo_1.9.m70_Win32Intel_install_ja.zip *とします。こうすると、${SRC_ROOT}にOOo_1.9.m70_Win32Intel_install_ja.zipというアーカイブができます。ビルドしたバイナリを配布するにはこのアーカイブを配ればよいです。また、アーカイブ名は適宜変更してください。
モジュール毎のビルド
ソースファイルの修正をしたり、特定のモジュールだけを再度ビルドする場合以下のように実施します。
該当モジュール内の全てのものを再度ビルドする時は、初めに該当モジュールフォルダ内のwntmsci10.proフォルダを削除します。
ソースファイルを修正後、該当モジュールのフォルダに移動します。$ cd ${SRC_ROOT}\(module)
該当モジュールのビルドがエラーなく完了したら、生成されたファイルを次のコマンドでsolver以下の所定のフォルダにコピーします。
$ build$ deliver
一連の作業を楽にするために
自分でOpenOffice.orgをビルドするのはとても大変な作業で、特にソースコードをダウンロードしてからビルドを開始するまでには単純な作業を強いられます。
この単純な作業を自動で行うためのシェルスクリプトを作成しました。是非、使ってみてください。
Windows版 制作者: 増冨善幸
デザイン:小浦寛裕$Id: build_windows_2_0.html,v 1.2 2005/01/16 08:38:03 curvirgo Exp $ - WindowsでのOpenOffice.org のビルド
ビルドの概要
ビルドは以下の手順で進めます。
- ビルドに必要なものを入手し適切な場所に用意します
- 日本語環境でのビルドのための修正を加えます
- ビルドの環境設定を行います
- ビルドの実行を行います
ビルドに必要なもの
ハードウェア
ハードウェアの条件は英語版ドキュメントによれば以下の通りです。
- インテル ペンティアム II
- RAM 128M バイト推奨
- 2G バイトの空きディスクスペース
ソフトウェア
Windows 版をビルドするには以下のソフトウェアが必要になります。
すべてオープンソースでビルドできるのが理想的なのですが、残念ながらそうはいきません。最初の三つはオープンソースでなく、しかも有償のソフトです。
- Windows NT 4.0 SP3 もしくはそれ以降
筆者の環境は Windows xp Professional です。
- マイクロソフト Visual C++ 6.0 サービスパック 3
英語版ドキュメントではこうなっていますが、サービスパック 3 以降であれば大丈夫みたいです。Visual C++.netでもビルド可能かもしれませんが、筆者は試していません。
- 4NT バージョン 2.5 もしくはそれ以降 (ftp://jpsoft.com/4nt/からダウンロードできます。)
4NT は Windows NT 環境で動くコマンドシェルです。他のオープンソースシェルもしくはWindows 標準のシェル(コマンド プロンプト)では現在のところOpenOffice.org のビルドは実行できません。
4NT をインストールしたら、インストール先ディレクトリに4NT.ini というファイルが以下の内容で出来ているか確認してください。
(この内容は英語版ドキュメントの通りですが、4NTのバージョンによっては内容が違っているかもしれません。内容が違っていたら念のためこのセクションを4NT.ini にコピーしちゃいます。)
[4NT]
CommandSep = ^
EscapeChar = Ctrl-X
ParameterChar = &
LocalAliases = Yes以降の無償で入手できるツールも必要です。
- JDK 1.3.1
- Cygwin ツールキット (http://www.cygwin.comから入手します。)
おなじみの Windows で *unix* 互換のツールを動かす環境とコマンドツール群のキットです。
英語版の解説には使用する Cygwinツールキットのバージョンごとの注意事項や準備事項がいろいろ書いてありますが、最新のものを入手するほうが手っとり早いです。ただし、一つだけやっておくことがあります。
Cygwin ツールキットのコマンドの中には *uinx*互換のシンボリックリンク (Windows のショートカットのようなもの)になっているものがあります。ビルドは 4NTの環境で実行しますが、この中ではシンボリックリンクが認識されません。したがって該当のファイルをコピーしておく必要があります。Cygwinの シェルで以下の一行コマンドを実行し awk.exe, gunzip.exe, tar.exe を実際にコピーします。
$ cd /usr/bin && for files in awk.exe tar.exe gunzip.exe; do cp -p $files $files.new && rm $files && cp -p $files.new $files && rm $files.new; done
- マイクロソフトアセンブラ
アセンブラは Visual C++ もしくは Visual Studioと一緒にすでにインストールされている可能性があります。必要なファイル(ML.EXE と ML.ERR) の所在を確認してみてください。存在しない場合はフリーなバージョンを入手する方法がhttp://www2.dgsys.com/~raymoon/faq/masm.html#9にあります。
- Info-zip の zip.exe バージョン 2.2 またはそれ以降
Cygwin ツールキットにも Info-zip の zip.exe は含まれていますが、これはCygwin の DLL を必要としますので Cygwin 環境以外でうまく動作しません。Windows の DLL のみで動くバージョンを Info-zip のオリジナルサイトhttp://www.info-zip.org/から入手し、Cygwin のものと置き換えます。
実行パスの検索順序で誤って Cygwinのものが動いてしまわないよう、置き換えてしまうことが肝心です。
- マイクロソフト プラットフォーム SDK に含まれる MDAC SDK (May 2002 もしくはそれ以降) およびコア SDK (MDAC SDKが依存します。)
マイクロソフトの開発環境と一緒にインストールされていれば更新する必要はないのかもしれませんが、念のため最新版をhttp://www.microsoft.com/msdownload/platformsdk/sdkupdate/から入手しましょう。*ヒント* (643 以前のバージョンをビルドする場合は MDAC SDK を実際にインストールしなくてもかまいませんが、代わりに MDAC SDK のキャビネットもしくはインストールディレクトリから AdoCtint..h と SqlUcode.h をソース展開後のディレクトリの external/download にコピーします。)
- マイクロソフト Layer for Unicode - unicows.dll
Windows 95/98/Me では Windows のユニコード APIについてはごく限定されたものしかサポートされません。これを補完するのがこの DLL で、再配布可能なファイルとしてマイクロソフトが提供しています。あらかじめ開発環境で Windows ディレクトリに入れておきます。http://download.microsoft.com/download/platformsdk/Redist/1.0/W9XMe/EN-US/unicows.exeから入手しましょう。
- gpc 一般多角形クリップライブラリリリーズ 2.31
http://www.cs.man.ac.uk/aig/staff/alan/software/にあります。tarball をダウンロードして解凍し、ライブラリに含まれるソースコードから gpc.c と gpc.h をソース展開後のディレクトリの external/gpc にコピーします。
ソースコードの入手
最後に、もちろんソースが必要です。
英語版以外のヘルプはソースからビルドされませんので、別に入手する必要があります。
OpenOffice.org の一部のモジュールだけをビルドしたい場合にはソースと一緒に solver を入手しておくと便利です。フルビルドには solver のビルドも含まれるのでフルビルドする場合は solver を入手する必要はありません。
ソースおよび solver は http://www.openoffice.org/dev_docs/source/download.htmlから tarball を入手し解凍します。ディレクトリ名に空白を含むパスの下にインストールするとビルドでトラブってしまいますので避けたほうがいいです。*ヒント*
一部のモジュールだけをビルドしたい場合に は最新の solver を入手・解凍するとともに、ソース全体の tarball からモジュールに必要なサブディレクトリのみを解凍するか、該当のサブディレクトリツリーを CVS で入手します。モジュールは開発プロジェクトごとにサブツリーに分かれていますが、config_office 以下のサブツリーはビルド環境を設定するためには必ず必要です。
ヘルプは http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/helpcontent_81_wnt.zip から入手します。
'81' は国際電話の際の日本の国コードです。日本語以外のヘルプソースも各種提供されています。
解凍した後に出てくる autocorr81.zip... などのファイルをソース展開後のディレクトリの solver/643/wntmsci7.pro/pck ('643' はソースのバージョンです。)に入れておきます。一つだけ各言語共通のファイルがありますが、内容は同じですから同じものが存在する場合は上書きしてし まってもコピーしなくても問題はありません。
日本語環境でのビルドのための修正
OpenOffice.org の原型はドイツで開発され、ソースコード内の文字(列)定数およびコメントにドイツ語で使用される0x80以上のラテン文字が含まれます。これらのラテン 文字の一部には日本語版のマイクロソフト Visual C++ のプリプロセッサ及びコンパイラで日本語シフト JIS 文字の一バイト目と解釈され、次に続く改行文字やコンパイラで解釈される特殊文字が正しく解釈されない場合があります。
ソースコードをチェックし、これらを修正します。Cygwin内でこのスクリプトを走らせるとうまくいくかもしれません。
ビルドの環境設定
ビルドは 4NT シェルで実行しますが、環境設定は Cygwin ツールキットの中で bash (bourne again シェル) でコマンドを走らせて実行します。
$ cd /cygdrive/c/oo_643c_src/config_office
(Cygwin 中では、各ドライブのルートドライブを "/cygdrive/[ドライブ文字]" と表記します。またパス名中の各ディレクトリ名の区切りは "/" を使います。)
$ bash configure --with-lang=ENUS,JAPN
(画面にいろいろ出力される)
Please enter the Java home directory: /cygdrive/c/jdk1.3.1_06
(JDK の存在場所を聞いてきています。Cygwin 流の表記で答えます。)
Please enter the path where the ml.exe assembler is located: /cygdrive/c/progra~1/masm
(ツール類の存在場所に実行ファイル検索パスが通っていない場合は聞いてきます。同じく Cygwin 流で答えますが、ディレクトリ名に空白を含んではいけません。名前に空白を含むディレクトリは短い MS-DOS ファイル名を使います。)
(またまた画面にいろいろ出力される)
$ exit
ソースツリーの一番上のディレクトリに winenv.bat というバッチファイルが作成されています。これを 4NT シェルの中で実行するとビルド環境が設定されます。
英語版では開発中のソースで環境設定する場合の注意事項が書いてありますが、tarball で公開されているソースからのビルドであれば気にする必要はないでしょう。
ビルドの実行
ビルドは 4NT シェルの中で実行します。winenv.bat はビルドのつど実行してください。環境が変わっていなければ再度configureを実行する必要はありません。
初めて winenv.bat を実行するときには dmake ツールがコンパイルされます。
フルビルド
ソースツリーの一番上のディレクトリ (以降 $SRC_ROOT と表記します) に移動します。
C:\4NT cd $SRC_ROOT
ソースに変更を加えずに再ビルドする場合 (一度ビルドしたあとデバッグ情報を加えて再ビルドするなど) は、先に中間ファイル、出力ファイルを削除します。Cygwin 内でやるのが便利です。
$ rm -r /cygdrive/c/$SRC_ROOT/*/wntmsci7.pro
4NT シェル内で以下のコマンドでビルドを行います。
$SRC_ROOT dmake
ペンティアム III にRAM 256M バイトのマシンでも10時間かかるそうです。
英語版ドキュメントでは依存関係に注意しながら個別のサブディレクトリごとにビルドしても良いと書いてありますが、フルビルドするのだったらそんな必要はありませんよね。
インストーラとアプリケーションの配布ファイルは サブツリー instsetoo の下、$SRC_ROOT\instsetoo\wntmsci7.pro\81\normal というディレクトリに作られます。'81' は例によって国コードです。ソースのバージョンによっては拡張子 .zip のファイルが出来ていますが、これは配布する必要がありません。
一部分だけのビルド
OpenOffice.org の要素はいくつかのプロジェクトに分かれて開発されており、さらにその中の各モジュールがソースツリーの中のサブツリーになっています。
各モジュールは相互にかなり複雑な依存関係がありますが、他のモジュールが依存するファイルは直接の依存でなく、すべて solver というサブツリーにコピーされ solver 以下のファイルに依存するよう環境設定されています。
従って、solver が最新の状態になっていれば、フルビルドを行わなくても個々のモジュールのサブツリー中のソースに変更を加えたものをビルドしたり、デバッグ情報を加えてビルドしたりすることが可能です。
該当モジュールのサブディレクトリに移動します。
C:\4NT cd $SRC_ROOT\(module)
ソースに変更を加えずに再ビルドする場合 (一度ビルドしたあとデバッグ情報を加えて再ビルドするなど) は、先に中間ファイル、出力ファイルを削除します。
$SRC_ROOT\(module) rm -r wntmsci7.pro
ビルドします。
$SRC_ROOT\(module) build
デバッグ情報付きでビルドする場合は以下のようになります。
$SRC_ROOT\(module) build debug=true
ビルドが終わったら必要なファイルを solver にコピーします。
$SRC_ROOT\(module) deliver
インストーラとアプリケーションの配布ファイルを完全に作り直したい場合は、サブツリー instsetoo でも build を行う必要があります。ファイルはサブツリー instsetoo の下、$SRC_ROOT\instsetoo\wntmsci7.pro\81\normal というディレクトリに作られます。'81' は例によって国コードです。
ちょっとしたヒント
>$ cd $SRC_ROOT/solenv/inc && cp -p _tg_app.mk _tg_app.mk.orig && sed -e 's/\$(APP\([0-9][0-9]*\)ICON) >>/icons\\\$(APP\1ICON:b).ico >>/' _tg_app.mk > temp && mv temp _tg_app.mk
$ cd $SRC_ROOT/sal/systools/win32/uwinapi && cp -p unicows.dxp unicows.dxp.orig && sed -e 's/RasDialW/;&/' unicows.dxp > temp && mv temp unicows.dxp
debug=true 指定等の条件つきビルドは充分テストされていないらしく、エラーがバンバン出ます。これはコツコツ修正するしかないでしょう。
制作者:小野隆志
デザイン:小浦寛裕$Id: build_windows.html,v 1.3 2003/12/30 01:02:05 maho Exp $
0 件のコメント:
コメントを投稿