1
LibreOffice mini Conference 2014 Tokyo/Japan
LibreOffice 開発版のビルドの基礎
for Windows
おがさわらなるひこ
LibreOffice 日本語チーム
2
LibreOffice 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
3
LibreOffice mini Conference 2014 Tokyo/Japan
必要な開発ツールの準備など
4
LibreOffice 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
5
LibreOffice mini Conference 2014 Tokyo/Japan
ビルドするバージョンを選ぶ
普通は開発版の最新(今なら 4.3 )あるいは master
でも master はときおりビルドがぶっ壊れるので、ただ
ビルドを試したいだけなら 4.3 が無難かも
もちろんぶっ壊れたビルドを直すのは良い Hack なので、 master
に果敢に挑戦するのもあり
4.3 から VS の IDE でビルドが可能になったらしい
Building LibreOffice from an IDE
https://www.youtube.com/watch?v=Xn3CtIrMpIA&hd=1
試せてませんスミマセン
6
LibreOffice mini Conference 2014 Tokyo/Japan
用意する OS 、ハードウェア
Windows 7 以降なら 32/64 どっちでも OK
だそうです。ぼくは 64bit の Windows7 Home Premium
ハードウェアはいまどきの一般的な PC
LibreOffice のビルドはけっこう遅い部類なので、一晩寝かしてお
いていいやつがいいでしょう
ぼくのは Lenovo Thinkpad X121e (CPU: AMD E-350)
かなり辛い
7
LibreOffice mini Conference 2014 Tokyo/Japan
ビルド環境の構築
8
LibreOffice 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 のソースコード取得
9
LibreOffice 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
10
LibreOffice mini Conference 2014 Tokyo/Japan
②GNU Make (LibreOffice patched ver.) のインストール
Cygwin が 32bit な人は LibreOffice のサイトに落ちて
るのでそれを取ってくる
64bit の人は自分でビルドしてねとかいてあるけどソースが見つ
けられませんでした(よわよわ……)
これから先のコマンドライン操作は Cygwin Terminal
上で行いましょう
mkdir -p /opt/lo/bin
cd /opt/lo/bin
wget http://dev-www.libreoffice.org/bin/cygwin/make
wget http://dev-www.libreoffice.org/extern/ccache.exe
chmod a+x make ccache.exe
11
LibreOffice mini Conference 2014 Tokyo/Japan
③Java SE Development Kit 7 のインストール
必ず 32bit ( x86 )を取ってくること!
公式ダウンロードページ:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
だと JDK8 が配布されてるように見えるけど、ちょっと
下にスクロールすると JDK7 もあります
取ってきたらインストーラを実行するだけ
12
LibreOffice 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/sources
wget http://www.us.apache.org/dist/ant/binaries/
apache-ant-1.9.4-bin.tar.bz2
tar -xjvf apache-ant-1.9.4-bin.tar.bz2
wget http://downloads.sourceforge.net/project/junit/junit/
4.10/junit-4.10.jar
13
LibreOffice 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 だけど、こっちは多少苦労
するのでおすすめしないとのこと
14
LibreOffice 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-core
cd libo-core
./g checkout --track remotes/origin/libreoffice-4-3
15
LibreOffice mini Conference 2014 Tokyo/Japan
いよいよビルド
16
LibreOffice mini Conference 2014 Tokyo/Japan
基本的な手順
現在の環境その他手動の指定に合わせた autogen と
いうツールで、最適な Makefile というファイルを作る
その Makefile を用いて、ソースコードをビルドする
17
LibreOffice mini Conference 2014 Tokyo/Japan
① まずは autogen の実行
細かなオプションが色々あるのですが、まあ一度ビルド
通してみるだけなら TDF Wiki の指定そのままでいいと
思います
mkdir -p /cygdrive/c/build
cd /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
18
LibreOffice mini Conference 2014 Tokyo/Japan
①-2autogen で生成された設定の保存
Linux なんかだとだまっててもうまくいくのです
が、 Windows の場合は autogen の結果をキャッシュす
るファイルを手でコピーする必要があるとか。
ここでエラーが出てないか、 Makefile がちゃんと出来
ているかを確認したら、いよいよ Make !
※ 私はここでうまくいかなくて挫折したので、以降は
テキストの引き写しです。しくしく。
mv autogen.lastrun autogen.input
19
LibreOffice mini Conference 2014 Tokyo/Japan
②Make
さっき入れた LibreOffice patched version を使って
Make しましょう
でないとエラーになるよ
ネットワークと通信して色々(ライブラリとかスペル
チェック用の辞書とか)取ってくるので、ネット落ちてる
とビルド通りません
大変時間がかかるので一晩放置するのが吉
Windows アップデートによる不意のリブートに注意
/opt/lo/bin/make gb_COLOR=1 # make の画面が色付きになってカッコイイ
20
LibreOffice mini Conference 2014 Tokyo/Japan
③ 試しに実行!
instdir/program/soffice.exe にビルド成果物がある!
はず!
単に実行するだけならこれを直接叩けば OK
デバッガ使いたいときは Visual Studio 上げてプロセス
アタッチすれば OK !
まあ、ぼくはここまで辿り着かなかったんですがね……。
./instdir/program/soffice.exe
21
LibreOffice mini Conference 2014 Tokyo/Japan
まとめ
22
LibreOffice 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 とかで相談してね!
23
LibreOffice 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 のビルドやろう!
… 私もがんばりまーす!

The Basic of How to build LibreOffice / LibreOffice開発版ビルドの基礎 for Windows

  • 1.
    1 LibreOffice mini Conference2014 Tokyo/Japan LibreOffice 開発版のビルドの基礎 for Windows おがさわらなるひこ LibreOffice 日本語チーム
  • 2.
    2 LibreOffice mini Conference2014 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
  • 3.
    3 LibreOffice mini Conference2014 Tokyo/Japan 必要な開発ツールの準備など
  • 4.
    4 LibreOffice mini Conference2014 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
  • 5.
    5 LibreOffice mini Conference2014 Tokyo/Japan ビルドするバージョンを選ぶ 普通は開発版の最新(今なら 4.3 )あるいは master でも master はときおりビルドがぶっ壊れるので、ただ ビルドを試したいだけなら 4.3 が無難かも もちろんぶっ壊れたビルドを直すのは良い Hack なので、 master に果敢に挑戦するのもあり 4.3 から VS の IDE でビルドが可能になったらしい Building LibreOffice from an IDE https://www.youtube.com/watch?v=Xn3CtIrMpIA&hd=1 試せてませんスミマセン
  • 6.
    6 LibreOffice mini Conference2014 Tokyo/Japan 用意する OS 、ハードウェア Windows 7 以降なら 32/64 どっちでも OK だそうです。ぼくは 64bit の Windows7 Home Premium ハードウェアはいまどきの一般的な PC LibreOffice のビルドはけっこう遅い部類なので、一晩寝かしてお いていいやつがいいでしょう ぼくのは Lenovo Thinkpad X121e (CPU: AMD E-350) かなり辛い
  • 7.
    7 LibreOffice mini Conference2014 Tokyo/Japan ビルド環境の構築
  • 8.
    8 LibreOffice mini Conference2014 Tokyo/Japan ビルド環境構築手順概観 ①Cygwin のインストール ②GNU Make (LibreOffice patched ver.) のインストール ③Java SE Development kit 7 のインストール ④Apache Ant のインストール ⑤Visual Studio Express 2012 for Windows Desktop の インストール ⑥LibreOffice のソースコード取得
  • 9.
    9 LibreOffice mini Conference2014 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
  • 10.
    10 LibreOffice mini Conference2014 Tokyo/Japan ②GNU Make (LibreOffice patched ver.) のインストール Cygwin が 32bit な人は LibreOffice のサイトに落ちて るのでそれを取ってくる 64bit の人は自分でビルドしてねとかいてあるけどソースが見つ けられませんでした(よわよわ……) これから先のコマンドライン操作は Cygwin Terminal 上で行いましょう mkdir -p /opt/lo/bin cd /opt/lo/bin wget http://dev-www.libreoffice.org/bin/cygwin/make wget http://dev-www.libreoffice.org/extern/ccache.exe chmod a+x make ccache.exe
  • 11.
    11 LibreOffice mini Conference2014 Tokyo/Japan ③Java SE Development Kit 7 のインストール 必ず 32bit ( x86 )を取ってくること! 公式ダウンロードページ: http://www.oracle.com/technetwork/java/javase/downloads/index.html だと JDK8 が配布されてるように見えるけど、ちょっと 下にスクロールすると JDK7 もあります 取ってきたらインストーラを実行するだけ
  • 12.
    12 LibreOffice mini Conference2014 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/sources wget http://www.us.apache.org/dist/ant/binaries/ apache-ant-1.9.4-bin.tar.bz2 tar -xjvf apache-ant-1.9.4-bin.tar.bz2 wget http://downloads.sourceforge.net/project/junit/junit/ 4.10/junit-4.10.jar
  • 13.
    13 LibreOffice mini Conference2014 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 だけど、こっちは多少苦労 するのでおすすめしないとのこと
  • 14.
    14 LibreOffice mini Conference2014 Tokyo/Japan ⑥LibreOffice のソースコード取得 私はあんまり考えずに git リポジトリから取得してしま いました ハマリ注意! 別途 Git を入れたり SourceTree のようなツールを使っている場 合、そっちで取ると改行コードの問題でビルドが通らないので、 絶対に Cygwin の git コマンドを使いましょう 4.3 ブランチに切り替えておきましょう cd /cygdrive/c/sources git clone git://gerrit.libreoffice.org/core libo-core cd libo-core ./g checkout --track remotes/origin/libreoffice-4-3
  • 15.
    15 LibreOffice mini Conference2014 Tokyo/Japan いよいよビルド
  • 16.
    16 LibreOffice mini Conference2014 Tokyo/Japan 基本的な手順 現在の環境その他手動の指定に合わせた autogen と いうツールで、最適な Makefile というファイルを作る その Makefile を用いて、ソースコードをビルドする
  • 17.
    17 LibreOffice mini Conference2014 Tokyo/Japan ① まずは autogen の実行 細かなオプションが色々あるのですが、まあ一度ビルド 通してみるだけなら TDF Wiki の指定そのままでいいと 思います mkdir -p /cygdrive/c/build cd /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
  • 18.
    18 LibreOffice mini Conference2014 Tokyo/Japan ①-2autogen で生成された設定の保存 Linux なんかだとだまっててもうまくいくのです が、 Windows の場合は autogen の結果をキャッシュす るファイルを手でコピーする必要があるとか。 ここでエラーが出てないか、 Makefile がちゃんと出来 ているかを確認したら、いよいよ Make ! ※ 私はここでうまくいかなくて挫折したので、以降は テキストの引き写しです。しくしく。 mv autogen.lastrun autogen.input
  • 19.
    19 LibreOffice mini Conference2014 Tokyo/Japan ②Make さっき入れた LibreOffice patched version を使って Make しましょう でないとエラーになるよ ネットワークと通信して色々(ライブラリとかスペル チェック用の辞書とか)取ってくるので、ネット落ちてる とビルド通りません 大変時間がかかるので一晩放置するのが吉 Windows アップデートによる不意のリブートに注意 /opt/lo/bin/make gb_COLOR=1 # make の画面が色付きになってカッコイイ
  • 20.
    20 LibreOffice mini Conference2014 Tokyo/Japan ③ 試しに実行! instdir/program/soffice.exe にビルド成果物がある! はず! 単に実行するだけならこれを直接叩けば OK デバッガ使いたいときは Visual Studio 上げてプロセス アタッチすれば OK ! まあ、ぼくはここまで辿り着かなかったんですがね……。 ./instdir/program/soffice.exe
  • 21.
    21 LibreOffice mini Conference2014 Tokyo/Japan まとめ
  • 22.
    22 LibreOffice mini Conference2014 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 とかで相談してね!
  • 23.
    23 LibreOffice mini Conference2014 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 のビルドやろう! … 私もがんばりまーす!