1LibreOffice mini Conference 2014 Tokyo/Japan
LibreOffice 開発版のビルドの基礎for Windows
おがさわらなるひこLibreOffice 日本語チーム
2LibreOffice mini Conference 2014 Tokyo/Japan
まずはお断り
私こと、おがさわらなるひこは Windows を常用しておらず、したがって Windows ビルドの経験は至って乏しいです
今回は時間が足りないなどあって実際ビルドしたものを動かすところまで届かず……スミマセン
今回は以下の資料をフォローする形で説明しますTDF Wiki “Windows Build Dependencies”https://wiki.documentfoundation.org/Development/Windows_Build_Dependencies
関西 LibreOffice 勉強会資料 by 八木さん「 LibreOffice を Windows でビルドする」http://www.slideshare.net/tomofumiyagi/libreoffice-buildytmkndshortver
3LibreOffice mini Conference 2014 Tokyo/Japan
必要な開発ツールの準備など
4LibreOffice mini Conference 2014 Tokyo/Japan
準備するもの
1.Cygwin
2.GNU Make (LibreOffice patched version)
3.Java SE Development Kit 7 (SE8 でもいけるのかな?)
4.Apache Ant
5.Visual Studio Express 2012 for Windows Desktop
5LibreOffice mini Conference 2014 Tokyo/Japan
ビルドするバージョンを選ぶ
普通は開発版の最新(今なら 4.3 )あるいは master
でも master はときおりビルドがぶっ壊れるので、ただビルドを試したいだけなら 4.3 が無難かも
もちろんぶっ壊れたビルドを直すのは良い Hack なので、 masterに果敢に挑戦するのもあり
4.3 から VS の IDE でビルドが可能になったらしいBuilding LibreOffice from an IDEhttps://www.youtube.com/watch?v=Xn3CtIrMpIA&hd=1試せてませんスミマセン
6LibreOffice mini Conference 2014 Tokyo/Japan
用意する OS 、ハードウェア
Windows 7 以降なら 32/64 どっちでも OKだそうです。ぼくは 64bit の Windows7 Home Premium
ハードウェアはいまどきの一般的な PCLibreOffice のビルドはけっこう遅い部類なので、一晩寝かしておいていいやつがいいでしょうぼくのは Lenovo Thinkpad X121e (CPU: AMD E-350)かなり辛い
7LibreOffice mini Conference 2014 Tokyo/Japan
ビルド環境の構築
8LibreOffice mini Conference 2014 Tokyo/Japan
ビルド環境構築手順概観
①Cygwin のインストール
②GNU Make (LibreOffice patched ver.) のインストール
③Java SE Development kit 7 のインストール
④Apache Ant のインストール
⑤Visual Studio Express 2012 for Windows Desktop のインストール
⑥LibreOffice のソースコード取得
9LibreOffice mini Conference 2014 Tokyo/Japan
①Cygwin のインストール
まずは Cygwin のサイトからインストーラを入手八木さんの資料だと 32/64 どっちでも OK とかいてあったけど私は 64bit でハマったので 32bit (setup-x86.exe) を使いました
64bit OS でも 32bit 版で大丈夫なんだそうです
-P オプションによりパッケージを指定して cmd.exe でインストーラをキックし、 GUI の指示に従う
私は TDF Wiki の内容を踏襲しました
setup-x86.exe -P autoconf -P automake -P bison -P cabextract ^ -P doxygen -P flex -P gcc-g++ -P git -P gnupg ^ -P gperf -P libxml2-devel -P libpng12-devel -P make ^ -P mintty -P openssh -P openssl -P patch -P perl ^ -P perl_vendor -P pkg-config -P python -P readline ^ -P rsync -P unzip -P vim -P wget -P zip
10LibreOffice mini Conference 2014 Tokyo/Japan
②GNU Make (LibreOffice patched ver.) のインストール
Cygwin が 32bit な人は LibreOffice のサイトに落ちてるのでそれを取ってくる
64bit の人は自分でビルドしてねとかいてあるけどソースが見つけられませんでした(よわよわ……)
これから先のコマンドライン操作は Cygwin Terminal上で行いましょう
mkdir -p /opt/lo/bin cd /opt/lo/binwget http://dev-www.libreoffice.org/bin/cygwin/makewget http://dev-www.libreoffice.org/extern/ccache.exechmod a+x make ccache.exe
11LibreOffice mini Conference 2014 Tokyo/Japan
③Java SE Development Kit 7 のインストール
必ず 32bit ( x86 )を取ってくること!
公式ダウンロードページ:http://www.oracle.com/technetwork/java/javase/downloads/index.html
だと JDK8 が配布されてるように見えるけど、ちょっと下にスクロールすると JDK7 もあります
取ってきたらインストーラを実行するだけ
12LibreOffice mini Conference 2014 Tokyo/Japan
③Apache Ant (と JUnit )のインストール
基本公式から取ってきて展開するだけTDF Wiki だと Ant のバージョンが 1.9.3 になってるけど、 2014/06/06 時点だと 1.9.4そこら辺は臨機応変に
JUnit は autoconf のオプションで無効化できるけど、まあ入れておきましょう
mkdir -p /cygdrive/c/sources
cd /cygdrive/c/sourceswget http://www.us.apache.org/dist/ant/binaries/ apache-ant-1.9.4-bin.tar.bz2tar -xjvf apache-ant-1.9.4-bin.tar.bz2wget http://downloads.sourceforge.net/project/junit/junit/ 4.10/junit-4.10.jar
13LibreOffice mini Conference 2014 Tokyo/Japan
⑤Visual Studio Express 2012 for Windows Deskopのインストール
今の最新は 2013 なので、 2012 はダウンロードセンターから探してきて入れる
http://www.microsoft.com/ja-jp/download/confirmation.aspx?id_34673
このインストーラーは途中でモジュールのダウンロードをじゃんすかやるので、ネットワークが太くないとインストールできません
我が家唯一の N/W であるモバイルルータが超遅かったので最初諦めようかと思ったけど、早朝に速度が改善し間に合いましたなお 2013 だとビルドが途中でコケました。しくしく
TDF 推奨だと 2010 でも OK だけど、こっちは多少苦労するのでおすすめしないとのこと
14LibreOffice mini Conference 2014 Tokyo/Japan
⑥LibreOffice のソースコード取得
私はあんまり考えずに git リポジトリから取得してしまいました
ハマリ注意!別途 Git を入れたり SourceTree のようなツールを使っている場合、そっちで取ると改行コードの問題でビルドが通らないので、絶対に Cygwin の git コマンドを使いましょう
4.3 ブランチに切り替えておきましょう
cd /cygdrive/c/sources
git clone git://gerrit.libreoffice.org/core libo-corecd libo-core./g checkout --track remotes/origin/libreoffice-4-3
15LibreOffice mini Conference 2014 Tokyo/Japan
いよいよビルド
16LibreOffice mini Conference 2014 Tokyo/Japan
基本的な手順
現在の環境その他手動の指定に合わせた autogen というツールで、最適な Makefile というファイルを作る
その Makefile を用いて、ソースコードをビルドする
17LibreOffice mini Conference 2014 Tokyo/Japan
①まずは autogen の実行
細かなオプションが色々あるのですが、まあ一度ビルド通してみるだけなら TDF Wiki の指定そのままでいいと思います
mkdir -p /cygdrive/c/buildcd /cygdrive/c/build
/cygdrive/c/sources/libo-core/autogen.sh \ --with-external-tar=/cygdrive/c/sources/lo-externalsrc \ --with-junit=/cygdrive/c/sources/junit-4.10.jar \ --with-ant-home=/cygdrive/c/sources/apache-ant-1.9.3 \ --enable-pch --disable-ccache \ --disable-activex --disable-atl
18LibreOffice mini Conference 2014 Tokyo/Japan
①-2autogen で生成された設定の保存
Linux なんかだとだまっててもうまくいくのですが、 Windows の場合は autogen の結果をキャッシュするファイルを手でコピーする必要があるとか。
ここでエラーが出てないか、 Makefile がちゃんと出来ているかを確認したら、いよいよ Make !
※私はここでうまくいかなくて挫折したので、以降はテキストの引き写しです。しくしく。
mv autogen.lastrun autogen.input
19LibreOffice mini Conference 2014 Tokyo/Japan
②Make
さっき入れた LibreOffice patched version を使ってMake しましょう
でないとエラーになるよ
ネットワークと通信して色々(ライブラリとかスペルチェック用の辞書とか)取ってくるので、ネット落ちてるとビルド通りません
大変時間がかかるので一晩放置するのが吉
Windows アップデートによる不意のリブートに注意
/opt/lo/bin/make gb_COLOR=1 # make の画面が色付きになってカッコイイ
20LibreOffice mini Conference 2014 Tokyo/Japan
③試しに実行!
instdir/program/soffice.exe にビルド成果物がある!はず!
単に実行するだけならこれを直接叩けば OK
デバッガ使いたいときは Visual Studio 上げてプロセスアタッチすれば OK !
まあ、ぼくはここまで辿り着かなかったんですがね……。
./instdir/program/soffice.exe
21LibreOffice mini Conference 2014 Tokyo/Japan
まとめ
22LibreOffice mini Conference 2014 Tokyo/Japan
私からの教訓
参考文献は穴が開くほど読もう!どちらも超役立つ。神の出来。特に八木さんの資料。TDF Wiki “Windows Build Dependencies”https://wiki.documentfoundation.org/Development/Windows_Build_Dependencies
関西 LibreOffice 勉強会資料 by 八木さん「 LibreOffice を Windows でビルドする」http://www.slideshare.net/tomofumiyagi/libreoffice-buildytmkndshortver
ネットワーク帯域は十分太いものを確保しましょう
あまりギリギリに準備するのはやめましょう (^^;
こまったら ML とかで相談してね!
23LibreOffice mini Conference 2014 Tokyo/Japan
All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.
みなさんも Windows のビルドやろう!
… 私もがんばりまーす!