SlideShare a Scribd company logo
1 of 49
Download to read offline
LibreOffice を Windows 上でビルドする
UPDATE
( LibreOffice 5.0/master )
Tomofumi Yagi <yagitmknada[at]gmail.com>
2015-7-11 第 10 回 関西 LibreOffice 勉強会
この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライ
センスの下に提供されています。
UPDATE?
3
以前、こんな発表をしました
●
古くなった内容を UPDATE したいと思います
はじめに
5
今日、お話する内容
●
Windows 上で LibreOffice をビルドする手順の紹介
+α
– ビルドって何?
– 自分で LibreOffice をビルドするための環境構築
– 自分でビルドした LibreOffice の実行とデバッグ
– その他のトピック
●
Jenkins や CI に関するお話はありません。
– ごめんなさい
ビルドって何?
7
LibreOffice はオープンソースのプロジェクト
●
ソースコードが公開されている
– ソースコード=ソフトウェアの設計図
8
ソースコード(設計図)を元に、実際に動作するソ
フトウェアを生成する = ビルド
●
平たく言えば、 LibreOffice 公式サイトで配布されて
いるコレの中身を自分で作ります
– (備考)ビルドは LibreOffice の開発を行うには必須の作業
9
前回発表( 2013 年 12 月)以降に変わったこと
●
64 ビット Windows 版 LibreOffice がビルド可能に
●
Visual Studio 2013 対応
– Visual Studio Community 2013 でも勿論ビルド可能
●
Win32 GNU Make の採用
– ビルドに掛かる時間の短縮
● Microsoft Visual Studio Project Integration
– これについては後ほど ...
ビルドのための環境構築
11
まず The Document Foundation ( TDF ) の
Wiki のページを開く
12
Development ページから
13
Windows でのビルドに関するページへ進む
14
Building LibreOffice on Windows with
Cygwin and MSVC: Tips and Tricks
● https://wiki.documentfoundation.org/Develo
pment/BuildingOnWindows
●
ビルドに必要な情報はここに全部書いてある
●
内容が更新される
– LibreOffice のビルド方法はどんどん改良される
●
このスライドの内容はすぐに古くなる可能性が高いです
●
自分でビルド環境を改善して、 Wiki で情報提供もできたら素敵
ですね!
15
LibreOffice をビルドするため必要なもの 1/2
●
必要な OS
– Windows 7 / 8 / 8.1
●
Windows 10 Insider Previewでもビルドできました
– 32 ビット /64 ビットいずれも
●
ただし 64 ビット版 LibreOffice は 64 ビット OS 上でのみビルド可能
●
必要なハードウェア
– マルチコア CPU 、搭載メモリ 4GB 以上、十分大きなストレージ
●
LibreOffice のソースコードやバイナリ等の格納に30GB 強の空きが必要
●
NTFS 圧縮が効果あり
●
多分、一般家庭にある今時の PC ならビルドできる
– 高スペックな PC だと短い時間でビルド可能
16
LibreOffice をビルドするため必要なもの 2/2
• 必要な開発ツール
①Microsoft Visual Studio 2013
②Java SE Development Kit ( JDK )
③Cygwin
④Win32 GNU make
⑤Apache Ant
●
今回は省略していますが可能なら JUnit も
●
⑥LibreOffice のソースコードも必要
それではビルドするため
の環境を構築してみます
18
①Microsoft Visual Studio のインストール
● https://www.visualstudio.com/products/visual-stu
dio-community-vs
●
Visual Studio Community を使おう!
– 今は Visual Studio Community 2013
– LibreOffice のビルドに必要な SDK 等は全て入っている
●
もう Express 版みたいに ATL を無効とかしなくていい
– 5.0 以降のビルドには VS2013 必須( VS2012 は不可)
●
サイトからダウンロードしてインストール
– 時間が掛かります
19
②Java SE Development Kit のインストール
● http://www.oracle.com/technetwork/java/java
se/downloads/index.html
●
今だと JDK8
●
32 ビット版の LibreOffice をビルドしたい時は
Windows x86 をダウンロードしてインストール
●
64 ビット版の LibreOffice をビルドしたい時は
Windows x64 をダウンロードしてインストール
– どちらもビルドする人は両方
20
③Cygwin のインストール
● http://www.cygwin.com/
●
OS が 32 ビットの場合は setup-x86.exe を、 64
ビットの場合は setup-x86_64.exe をダウンロード
●
パッケージをたくさんインストールする必要がある
– setup 起動時にイストールしたいパッケージを指定して
しまう
REM コマンドプロンプト上で実行してください
REM 実際は一行です
C:Downloads> setup-x86.exe
-P autoconf -P automake -P bison -P doxygen -P flex -P gcc-g++ -P git -P gperf
-P make -P nasm -P patch -P perl-Archive-Zip -P pkg-config -P python -P python3
-P unzip -P wget -P zip
C:Downloads>
21
④Win32 GNU make のインストール
● http://dev-www.libreoffice.org/bin/cygwin/m
ake-85047eb-msvc.exe
●
Cygwin 付属の make では警告が出る
– ビルドが凄く遅くなる
– 以前利用していたパッチ適用済 Cygwin make も非推奨
●
TDF から提供されているバイナリをダウンロード
– 32 ビット /64 ビット共通バイナリ
;; Cygwin Terminal 上で実行してください
$ mkdir -p /opt/lo/bin
$ cd /opt/lo/bin
$ wget http://dev-www.libreoffice.org/bin/cygwin/make-85047eb-msvc.exe
$ mv make-85047eb-msvc.exe make.exe
$ chmod +x make
$ /opt/lo/bin/make -v
GNU Make 4.0
Built for Windows32
22
⑤Apache Ant のインストール
● http://ant.apache.org/
●
Apache のサイトからバイナリをダウンロードして解
凍
;; Cygwin Terminal 上で実行してください
$ cd /opt
$ wget http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2
$ tar xvf apache-ant-1.9.5-bin.tar.bz2
$ mv apache-ant-1.9.5-bin ant
$
23
⑥LibreOffice のソースコード(リポジトリ)取
得
●
git clone を実行して LibreOffice のソースコード
(リポジトリ)を取ってくる
– LibreOffice のソースコードは git で管理される
●
git は Linux のソースコードを管理するために作られた分散型
バージョン管理システム
●
時間が掛かります
;; Cygwin Terminal 上で実行してください
$ mkdir /cygdrive/c/lo
$ cd /cygdrive/c/lo
$ git clone git://gerrit.libreoffice.org/core
...
$ cd core
$
デモ
25
補足
●
Mozilla Address Book connectorを有効にする方法(ちょっと面倒臭い)
– https://wiki.documentfoundation.org/Development/BuildingOnWindows#Optional_requirements_to_build_
Mozilla_Address_Book_connector
●
JUnitも可能ならインストールしましょう
– https://wiki.documentfoundation.org/Development/BuildingOnWindows#Install_ant_and_junit
●
LibreOfficeのソースコード取得時、ネットワークやサーバーの問題でgit cloneが失敗するよ
うなら bundleファイルをダウンロードすると良いかも
– 遣り方は前回のプレゼン資料を見てください
●
ビルド用のディレクトリはソースコードのあるディレクトリと別の場所にすることもできます
– https://wiki.documentfoundation.org/Development/BuildingOnWindows#Create_build_directory_and_confi
gure_and_build_the_code
●
nasmが必要
– TDFから提供されるバイナリを使うか、 Cygwinのパッケージを使いましょう
– http://dev-www.libreoffice.org/bin/cygwin/
ビルドとデバッグ
27
ビルドする LibreOffice のバージョンを決める
●
master か最新の安定版が無難
– 新しいバージョンの方が楽にビルドできる
– 最新の安定版 5.0 の系列がよりビルドし易いかも
– master もビルドしやすくなったが稀にビルドが壊れる
●
必要であればブランチを切り替え
– 5.0 をビルドする場合 git checkout で追跡ブランチを作
成し、このブランチに切り替えてビルドします
;; Cygwin Terminal 上で実行してください
$ cd core
$ ./g checkout --track remotes/origin/libreoffice-5-0 ;; master 以外はブランチを切り替え
$
28
①autogen.sh を実行 1/2
●
ビルドに必要になるファイル群を生成( Makefile 等)
●
設定のためのオプションを渡す
– 下記は日本語 UI とソースコードデバッグを有効にする例
;; 実際は 1 行です。私が使っている設定です。
$ ./autogen.sh
--with-distro=LibreOfficeWin32
--disable-win-mozab-driver
--with-ant-home=”/opt/ant”
--with-lang=ja
--enable-debug
TDF 公式ビルドの設定を借りてきます
Mozilla Address Book connector を無効化
   (環境構築を簡単にするため)
日本語 UI が使えるようにします
デバッグに便利な幾つかの設定をまとめて行います
29
①autogen.sh を実行 2/2
●
オプションの指定の仕方によってはエラーになる
– エラーが出なくなるまで修正を繰り返す
●
エラーが出なくなったら設定を保存する
– mv autogen.lastrun autogen.input
– autogen.input に指定したオプションの内容が保存されているの
で、以後は autogen.input を編集
– この時 autogen.sh はオプション無しで実行
●
他にも細かい設定ができる
– ./autogen.sh --help でヘルプを参照
30
②make を実行
●
Win32 GNU make を実行する
– Cygwin make は非推奨
●
実は make すれば必要な処理が実行される
– autogen.sh 、サブモジュールの取得、ダウンロード
●
LibreOffice のビルドが始まるので完了するまで待つ
;; Cygwin Terminal 上で実行してください
$ C:/cygwin/opt/lo/bin/make
…
31
初回ビルド時の注意
●
ダウンロードが大量に行われるため時間が掛かる
– LibreOffice が内部的に利用するソフトウェアのダウン
ロードが纏めて行われる( Python, Firebird RDBMS 他
external のモジュール)
●
1 時間くらい?
– サブモジュール(翻訳内容など)が clone される
●
translations 、 discionaries 等のサブモジュール
●
これも 1 時間くらい?
32
ビルド完了
●
ビルド中は大量のメッセージが表示される
●
最終的に、コマンド入力状態に戻ってくる
libreofficekit linginguistic lotuswordpro nlpsolver o3tl odk offapi officecfg oovbaapi
ackage postprocess pyuno readlicense_oo registry remotebridges reporortdesign ridljar
rsc sal salhelper sax sc scaddins sccomp scp2 scrixt setup_native sfx2 shell slideshow
smoketest solenv soltools sot s store svgio svl svtools svx sw swext sysui test testtools
toolkit tcb ucbhelper udkapi unodevtools unoidl unoil unotest unotools unoxmlhelper vcl
winaccessibility wizards writerfilter writerperfect xmergloff xmlreader xmlscript
xmlsecurity
[build PRL] CustomTarget/instsetoo_native/install/install.phony
[build SLC] writerperfect
[build SLC] sc
[build SLC] chart2
[build SLC] sw
[build SLC] libreoffice
[build CHK] sd
[build CHK] libreoffice
[build CUS] instsetoo_native/install
[build BIN] instsetoo_native
[build MOD] instsetoo_native
[build MOD] libreoffice
[build BIN] top level modules: libreoffice
[build ALL] top level modules: build-non-l10n-only build-l10n-only
$
ビルドできたので実行し
てみます
34
自分でビルドした LibreOffice の起動
●
instdir/program/soffice.exe を実行
– インストール作業不要で実行やデバッグが可能
– インストーラーは
workdir/installation/LibreOffice_Dev/msi/install/en-
US_ja_qtz 配下に作成される
;; Cygwin Terminal 上で実行してください
$
$ instdir/program/soffice.exe
35
デバッグ
●
Visual Studio を起動する
●
soffice.bin プロセスにアタッチしてデバッグする
– ソースコードデバッグが可能(デバッグオプションを付
けて autogen.sh した場合)
デモ
37
ビルドでエラーが発生したら 1/3
●
エラーメッセージやログをよく見る
– 可能なら修正する
●
Wiki ページの Known Problems をチェックする
– https://wiki.documentfoundation.org/Development/B
uildingOnWindows#Known_Problems
– Building LibreOffice on Windows with Cygwin and MSVC
の最後の方
– ウイルス対策ソフトが原因でビルドが失敗する時の回避
方法等があります
38
ビルドでエラーが発生したら 2/3
●
他の人たちのビルド状況を見る (Build Status
(Tinderboxes))
– http://tinderbox.libreoffice.org/MASTER/status.html
●
ビルドエラー修正のコミットがないかリポジトリを見る
– https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/master
– https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/libreoff
ice-5-0
– もしあれば ./g pull でリポジトリを更新して再度ビルド
39
ビルドでエラーが発生したら 3/3
●
ビルドエラーの原因と思われるコミットが適用される前
の状態に戻してビルドしてみる
– git log で調べてから、 git reset 等で状態を戻してみる
– どのコミットがビルドエラーの原因か特定する
その他のトピック
41
ビルドと翻訳
● KeyID build
– KeyID は翻訳の補助で使うための特殊な言語
●
UI や help の翻訳内容が Pootle 上のどこに格納されているかを
特定するために使う
– RC フェーズでも自分でビルドすればいつでも KeyID
build
●
オフィシャルに提供されるバイナリは β 版では KeyID が利用可
能だが、 RC 版は利用できない
42
ビルドに掛かる時間の短縮方法について
●
LibreOfficeのビルドには時間が掛かる
– スペックによって数十分〜 10 時間以上
●
マルチコア CPUで並列ビルドする
– 効果大
– デフォルトでコア数に合わせた並列ビルドの設定になる
●
更に autogen.shの --with-parallelismオプションを使ってチューニング
●
速いストレージを使う(SSD、ストライピング、RAM DISK)
– 効果あり
●
autogen.shのオプションを追加/変更
– 辞書 /オフラインヘルプ /SDK/インストーラー等の自分が必要ないものを作成しない
●
メモリ不足によるスワップが発生しないようにする
– と言っても極端に多くのメモリが要求される訳ではない
43
lode : LibreOffice Developement Environment
● https://wiki.documentfoundation.org/Develop
ment/lode
●
ビルド環境を自動セットアップしてくれるスクリプト
– Windows の場合は PowerShell + α
●
まだ発展途上?
– そのうち Wiki ページの情報が更新されるかも
– 今日ご紹介した内容がコマンド一発とかボタン数クリッ
クでできるようになるといいですね!!
44
Microsoft Visual Studio 2015
●
2015 年 7 月 20 日にリリース予定
– 今は RC
●
Community Edition もある
●
まだ VS2015 で LibreOffice をビルドするは
experimental
– 既にコード修正は始まっている
● Let's try!
45
Microsoft Visual Studio Project Integration
doesn't work
●
VS 上で LibreOffice の開発が可能になる機能
– Intellisense 等の便利な機能が使えるはずだが ...
●
エラーが出てソリューションファイルがちゃんと生成さ
れない
– Python 得意な方、是非デバッグを
– 私もデバッグ中です
みんなでデバッグしよう!!
ありがとうございました
47
参考文献 / Web ページ
● Building LibreOffice on Windows with Cygwin
and MSVC: Tips and Tricks(TDF Wiki)
– https://wiki.documentfoundation.org/Development/Bu
ildingOnWindows
● Visual Studio Community 2013 Download
page
– https://www.visualstudio.com/products/visual-studio-c
ommunity-vs
● Java SE Downloads
– http://www.oracle.com/technetwork/java/javase/downlo
ads/index.html
● This is the home of the Cygwin project
– http://www.cygwin.com/
48
参考文献 / Web ページ
● Dev-tools misc. useful libreoffice
development tools ( Win32 GNU make
download )
– http://dev-www.libreoffice.org/bin/cygwin/
● THE APACHE ANT PROJECT HOMEPAGE
– http://ant.apache.org/
● Tinderbox Status Page
– http://tinderbox.libreoffice.org/MASTER/status.html
– http://tinderbox.libreoffice.org/libreoffice-4-4/status.htm
l
49
参考文献 / Web ページ
● libreoffice/core main, development code
repository
– https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/master
– https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/libreoff
ice-5-0
● lode : LibreOffice Developement Environment
– https://wiki.documentfoundation.org/Development/lode
●
LibreOffice を Windows 上でビルドする( 2013-
12-14 第 5 回 関西 LibreOffice 勉強会)
– http://www.slideshare.net/tomofumiyagi/libreoffice-bu
ildytmkndshortver-29235268

More Related Content

What's hot

Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Nobuhiro Iwamatsu
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版Keiichiro Shikano
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」Yoshiki Shibukawa
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話Takayuki Shimizukawa
 
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImageNaruhiko Ogasawara
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Nobuhiro Iwamatsu
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方wata2ki
 
20170527 inside .NET Core on Linux
20170527 inside .NET Core on Linux20170527 inside .NET Core on Linux
20170527 inside .NET Core on LinuxTakayoshi Tanaka
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Kazuyuki Mori
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜDockerでJupyter使おうぜ
DockerでJupyter使おうぜSatoshi Yazawa
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Takayuki Shimizukawa
 
Docker + Checkpoint/Restore
Docker + Checkpoint/RestoreDocker + Checkpoint/Restore
Docker + Checkpoint/Restorekawamuray
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxHiroshi Sakate
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステムl_b__
 
Yocto bspを作ってみた
Yocto bspを作ってみたYocto bspを作ってみた
Yocto bspを作ってみたwata2ki
 

What's hot (20)

真Drone入門
真Drone入門真Drone入門
真Drone入門
 
Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料Yocto Project ハンズオン プレゼン用資料
Yocto Project ハンズオン プレゼン用資料
 
ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版ドキュメントシステムはこれを使え2015年版
ドキュメントシステムはこれを使え2015年版
 
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
ドキュメントを作りたくなってしまう魔法のツール「Sphinx」
 
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
 
Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001Docker meetup tokyo_public_r001
Docker meetup tokyo_public_r001
 
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
最新のデスクトップアプリを使おう:Snap, Flatpak, AppImage
 
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
 
YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方YoctoをつかったDistroの作り方とハマり方
YoctoをつかったDistroの作り方とハマり方
 
Docker入門
Docker入門Docker入門
Docker入門
 
20170527 inside .NET Core on Linux
20170527 inside .NET Core on Linux20170527 inside .NET Core on Linux
20170527 inside .NET Core on Linux
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
 
DockerでJupyter使おうぜ
DockerでJupyter使おうぜDockerでJupyter使おうぜ
DockerでJupyter使おうぜ
 
Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018Sphinx customization for OGP support at SphinxCon JP 2018
Sphinx customization for OGP support at SphinxCon JP 2018
 
Docker + Checkpoint/Restore
Docker + Checkpoint/RestoreDocker + Checkpoint/Restore
Docker + Checkpoint/Restore
 
Introduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linuxIntroduction to Yocto Project - Let's make customized embedded linux
Introduction to Yocto Project - Let's make customized embedded linux
 
Androidの新ビルドシステム
Androidの新ビルドシステムAndroidの新ビルドシステム
Androidの新ビルドシステム
 
Moby Project
Moby ProjectMoby Project
Moby Project
 
Yocto bspを作ってみた
Yocto bspを作ってみたYocto bspを作ってみた
Yocto bspを作ってみた
 

Viewers also liked

Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Naruhiko Ogasawara
 
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Naruhiko Ogasawara
 
Beautiful Women Of China
Beautiful Women Of ChinaBeautiful Women Of China
Beautiful Women Of ChinaRen
 
2012 06 FGV Custo Mão de Obra Encargos Sociai Brasil
2012 06   FGV Custo Mão de Obra Encargos Sociai Brasil2012 06   FGV Custo Mão de Obra Encargos Sociai Brasil
2012 06 FGV Custo Mão de Obra Encargos Sociai BrasilSiamfesp Sindicato
 
Tarif jne-reg-2013-bdg-1-juni-2013
Tarif jne-reg-2013-bdg-1-juni-2013Tarif jne-reg-2013-bdg-1-juni-2013
Tarif jne-reg-2013-bdg-1-juni-2013ridwansf2
 
Miquel Martí i Pol
Miquel Martí i PolMiquel Martí i Pol
Miquel Martí i PolQuim Civil
 
0116-leadership-resilience-md
0116-leadership-resilience-md0116-leadership-resilience-md
0116-leadership-resilience-mdPat Sanaghan
 
Windows 8.1 Deployment - Tools, Tools, Tools
Windows 8.1 Deployment - Tools, Tools, ToolsWindows 8.1 Deployment - Tools, Tools, Tools
Windows 8.1 Deployment - Tools, Tools, ToolsRoel van Bueren
 
Everybody Polyglot! - Cross-Language RPC with Erlang
Everybody Polyglot! - Cross-Language RPC with ErlangEverybody Polyglot! - Cross-Language RPC with Erlang
Everybody Polyglot! - Cross-Language RPC with ErlangRusty Klophaus
 
CV Roy Basoeki
CV Roy BasoekiCV Roy Basoeki
CV Roy Basoekitime4web
 
Ea conference st albert feb 2014
Ea conference  st albert feb 2014Ea conference  st albert feb 2014
Ea conference st albert feb 2014tobylscott
 
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octaviana
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri OctavianaAplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octaviana
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octavianasutrioctavianasitorus
 

Viewers also liked (20)

CUPS 1.6 translation secrets
CUPS 1.6 translation secretsCUPS 1.6 translation secrets
CUPS 1.6 translation secrets
 
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
Case study to use MongoDB in middle-class SIer / (中規模) SIerだってMongoDBできたよ!
 
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
Webブラウザで動くOSSオフィスソフト、LibreOffice Onlineの中身に迫る / LibreOffice Online Implementa...
 
Rules around us
Rules around usRules around us
Rules around us
 
Beautiful Women Of China
Beautiful Women Of ChinaBeautiful Women Of China
Beautiful Women Of China
 
Matematica docentes
Matematica docentesMatematica docentes
Matematica docentes
 
Synapseindia android apps (operating system)
Synapseindia android apps (operating system)Synapseindia android apps (operating system)
Synapseindia android apps (operating system)
 
2012 06 FGV Custo Mão de Obra Encargos Sociai Brasil
2012 06   FGV Custo Mão de Obra Encargos Sociai Brasil2012 06   FGV Custo Mão de Obra Encargos Sociai Brasil
2012 06 FGV Custo Mão de Obra Encargos Sociai Brasil
 
Visual Network Analysis
Visual Network AnalysisVisual Network Analysis
Visual Network Analysis
 
Tarif jne-reg-2013-bdg-1-juni-2013
Tarif jne-reg-2013-bdg-1-juni-2013Tarif jne-reg-2013-bdg-1-juni-2013
Tarif jne-reg-2013-bdg-1-juni-2013
 
Miquel Martí i Pol
Miquel Martí i PolMiquel Martí i Pol
Miquel Martí i Pol
 
0116-leadership-resilience-md
0116-leadership-resilience-md0116-leadership-resilience-md
0116-leadership-resilience-md
 
Windows 8.1 Deployment - Tools, Tools, Tools
Windows 8.1 Deployment - Tools, Tools, ToolsWindows 8.1 Deployment - Tools, Tools, Tools
Windows 8.1 Deployment - Tools, Tools, Tools
 
англійська мова 3 кл підручник
англійська мова 3 кл підручниканглійська мова 3 кл підручник
англійська мова 3 кл підручник
 
Everybody Polyglot! - Cross-Language RPC with Erlang
Everybody Polyglot! - Cross-Language RPC with ErlangEverybody Polyglot! - Cross-Language RPC with Erlang
Everybody Polyglot! - Cross-Language RPC with Erlang
 
CV Roy Basoeki
CV Roy BasoekiCV Roy Basoeki
CV Roy Basoeki
 
Ususnmptn2011
Ususnmptn2011Ususnmptn2011
Ususnmptn2011
 
Ea conference st albert feb 2014
Ea conference  st albert feb 2014Ea conference  st albert feb 2014
Ea conference st albert feb 2014
 
Lulusan SMK PI class of 2014
Lulusan SMK PI class of 2014Lulusan SMK PI class of 2014
Lulusan SMK PI class of 2014
 
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octaviana
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri OctavianaAplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octaviana
Aplikom_Unsri_1. MyBiodata dan keunikan Matematika_Sutri Octaviana
 

Similar to LibreOffice を Windows 上でビルドする UPDATE

2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」aitc_jp
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Masahito Zembutsu
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入Yu Nobuoka
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5Tsukasa Sugiura
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門Masahito Zembutsu
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたShinji Enoki
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ai Makabi
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Takako Miyagawa
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門sandai
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成shigeki_ohtsu
 
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回ロボットシステム学2015年第9回
ロボットシステム学2015年第9回Ryuichi Ueda
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたYou&I
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築Hideharu MATSUFUJI
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : ReloadedMasataka Kondo
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -Yukihiko SAWANOBORI
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfesTakeshi Komiya
 

Similar to LibreOffice を Windows 上でビルドする UPDATE (20)

2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
 
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
 
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
 
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
 
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
 
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみたクラウドコラボレーションサーバ「Collabora Online」を構築してみた
クラウドコラボレーションサーバ「Collabora Online」を構築してみた
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
 
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
 
20170124 linux basic_2
20170124 linux basic_220170124 linux basic_2
20170124 linux basic_2
 
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
 
【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門【学習メモ#1st】12ステップで作る組込みOS自作入門
【学習メモ#1st】12ステップで作る組込みOS自作入門
 
node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成node-gypを使ったネイティブモジュールの作成
node-gypを使ったネイティブモジュールの作成
 
ロボットシステム学2015年第9回
ロボットシステム学2015年第9回ロボットシステム学2015年第9回
ロボットシステム学2015年第9回
 
IBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみたIBM Rational Team Concertに触れてみた
IBM Rational Team Concertに触れてみた
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
まっつんチャレンジ OSC出張編 45分でわかる PHP+Eclipseによるテスト駆動開発環境の構築
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : Reloaded
 
Openshift 20191128
Openshift 20191128Openshift 20191128
Openshift 20191128
 
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
密着! nibohsiデプロイ 13:00-13:05 - railsアプリのデプロイ事例 -
 
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
 

LibreOffice を Windows 上でビルドする UPDATE

  • 1. LibreOffice を Windows 上でビルドする UPDATE ( LibreOffice 5.0/master ) Tomofumi Yagi <yagitmknada[at]gmail.com> 2015-7-11 第 10 回 関西 LibreOffice 勉強会 この 作品 は クリエイティブ・コモンズ 表示 - 継承 4.0 国際 ライ センスの下に提供されています。
  • 5. 5 今日、お話する内容 ● Windows 上で LibreOffice をビルドする手順の紹介 +α – ビルドって何? – 自分で LibreOffice をビルドするための環境構築 – 自分でビルドした LibreOffice の実行とデバッグ – その他のトピック ● Jenkins や CI に関するお話はありません。 – ごめんなさい
  • 8. 8 ソースコード(設計図)を元に、実際に動作するソ フトウェアを生成する = ビルド ● 平たく言えば、 LibreOffice 公式サイトで配布されて いるコレの中身を自分で作ります – (備考)ビルドは LibreOffice の開発を行うには必須の作業
  • 9. 9 前回発表( 2013 年 12 月)以降に変わったこと ● 64 ビット Windows 版 LibreOffice がビルド可能に ● Visual Studio 2013 対応 – Visual Studio Community 2013 でも勿論ビルド可能 ● Win32 GNU Make の採用 – ビルドに掛かる時間の短縮 ● Microsoft Visual Studio Project Integration – これについては後ほど ...
  • 11. 11 まず The Document Foundation ( TDF ) の Wiki のページを開く
  • 14. 14 Building LibreOffice on Windows with Cygwin and MSVC: Tips and Tricks ● https://wiki.documentfoundation.org/Develo pment/BuildingOnWindows ● ビルドに必要な情報はここに全部書いてある ● 内容が更新される – LibreOffice のビルド方法はどんどん改良される ● このスライドの内容はすぐに古くなる可能性が高いです ● 自分でビルド環境を改善して、 Wiki で情報提供もできたら素敵 ですね!
  • 15. 15 LibreOffice をビルドするため必要なもの 1/2 ● 必要な OS – Windows 7 / 8 / 8.1 ● Windows 10 Insider Previewでもビルドできました – 32 ビット /64 ビットいずれも ● ただし 64 ビット版 LibreOffice は 64 ビット OS 上でのみビルド可能 ● 必要なハードウェア – マルチコア CPU 、搭載メモリ 4GB 以上、十分大きなストレージ ● LibreOffice のソースコードやバイナリ等の格納に30GB 強の空きが必要 ● NTFS 圧縮が効果あり ● 多分、一般家庭にある今時の PC ならビルドできる – 高スペックな PC だと短い時間でビルド可能
  • 16. 16 LibreOffice をビルドするため必要なもの 2/2 • 必要な開発ツール ①Microsoft Visual Studio 2013 ②Java SE Development Kit ( JDK ) ③Cygwin ④Win32 GNU make ⑤Apache Ant ● 今回は省略していますが可能なら JUnit も ● ⑥LibreOffice のソースコードも必要
  • 18. 18 ①Microsoft Visual Studio のインストール ● https://www.visualstudio.com/products/visual-stu dio-community-vs ● Visual Studio Community を使おう! – 今は Visual Studio Community 2013 – LibreOffice のビルドに必要な SDK 等は全て入っている ● もう Express 版みたいに ATL を無効とかしなくていい – 5.0 以降のビルドには VS2013 必須( VS2012 は不可) ● サイトからダウンロードしてインストール – 時間が掛かります
  • 19. 19 ②Java SE Development Kit のインストール ● http://www.oracle.com/technetwork/java/java se/downloads/index.html ● 今だと JDK8 ● 32 ビット版の LibreOffice をビルドしたい時は Windows x86 をダウンロードしてインストール ● 64 ビット版の LibreOffice をビルドしたい時は Windows x64 をダウンロードしてインストール – どちらもビルドする人は両方
  • 20. 20 ③Cygwin のインストール ● http://www.cygwin.com/ ● OS が 32 ビットの場合は setup-x86.exe を、 64 ビットの場合は setup-x86_64.exe をダウンロード ● パッケージをたくさんインストールする必要がある – setup 起動時にイストールしたいパッケージを指定して しまう REM コマンドプロンプト上で実行してください REM 実際は一行です C:Downloads> setup-x86.exe -P autoconf -P automake -P bison -P doxygen -P flex -P gcc-g++ -P git -P gperf -P make -P nasm -P patch -P perl-Archive-Zip -P pkg-config -P python -P python3 -P unzip -P wget -P zip C:Downloads>
  • 21. 21 ④Win32 GNU make のインストール ● http://dev-www.libreoffice.org/bin/cygwin/m ake-85047eb-msvc.exe ● Cygwin 付属の make では警告が出る – ビルドが凄く遅くなる – 以前利用していたパッチ適用済 Cygwin make も非推奨 ● TDF から提供されているバイナリをダウンロード – 32 ビット /64 ビット共通バイナリ ;; Cygwin Terminal 上で実行してください $ mkdir -p /opt/lo/bin $ cd /opt/lo/bin $ wget http://dev-www.libreoffice.org/bin/cygwin/make-85047eb-msvc.exe $ mv make-85047eb-msvc.exe make.exe $ chmod +x make $ /opt/lo/bin/make -v GNU Make 4.0 Built for Windows32
  • 22. 22 ⑤Apache Ant のインストール ● http://ant.apache.org/ ● Apache のサイトからバイナリをダウンロードして解 凍 ;; Cygwin Terminal 上で実行してください $ cd /opt $ wget http://www.us.apache.org/dist/ant/binaries/apache-ant-1.9.5-bin.tar.bz2 $ tar xvf apache-ant-1.9.5-bin.tar.bz2 $ mv apache-ant-1.9.5-bin ant $
  • 23. 23 ⑥LibreOffice のソースコード(リポジトリ)取 得 ● git clone を実行して LibreOffice のソースコード (リポジトリ)を取ってくる – LibreOffice のソースコードは git で管理される ● git は Linux のソースコードを管理するために作られた分散型 バージョン管理システム ● 時間が掛かります ;; Cygwin Terminal 上で実行してください $ mkdir /cygdrive/c/lo $ cd /cygdrive/c/lo $ git clone git://gerrit.libreoffice.org/core ... $ cd core $
  • 25. 25 補足 ● Mozilla Address Book connectorを有効にする方法(ちょっと面倒臭い) – https://wiki.documentfoundation.org/Development/BuildingOnWindows#Optional_requirements_to_build_ Mozilla_Address_Book_connector ● JUnitも可能ならインストールしましょう – https://wiki.documentfoundation.org/Development/BuildingOnWindows#Install_ant_and_junit ● LibreOfficeのソースコード取得時、ネットワークやサーバーの問題でgit cloneが失敗するよ うなら bundleファイルをダウンロードすると良いかも – 遣り方は前回のプレゼン資料を見てください ● ビルド用のディレクトリはソースコードのあるディレクトリと別の場所にすることもできます – https://wiki.documentfoundation.org/Development/BuildingOnWindows#Create_build_directory_and_confi gure_and_build_the_code ● nasmが必要 – TDFから提供されるバイナリを使うか、 Cygwinのパッケージを使いましょう – http://dev-www.libreoffice.org/bin/cygwin/
  • 27. 27 ビルドする LibreOffice のバージョンを決める ● master か最新の安定版が無難 – 新しいバージョンの方が楽にビルドできる – 最新の安定版 5.0 の系列がよりビルドし易いかも – master もビルドしやすくなったが稀にビルドが壊れる ● 必要であればブランチを切り替え – 5.0 をビルドする場合 git checkout で追跡ブランチを作 成し、このブランチに切り替えてビルドします ;; Cygwin Terminal 上で実行してください $ cd core $ ./g checkout --track remotes/origin/libreoffice-5-0 ;; master 以外はブランチを切り替え $
  • 28. 28 ①autogen.sh を実行 1/2 ● ビルドに必要になるファイル群を生成( Makefile 等) ● 設定のためのオプションを渡す – 下記は日本語 UI とソースコードデバッグを有効にする例 ;; 実際は 1 行です。私が使っている設定です。 $ ./autogen.sh --with-distro=LibreOfficeWin32 --disable-win-mozab-driver --with-ant-home=”/opt/ant” --with-lang=ja --enable-debug TDF 公式ビルドの設定を借りてきます Mozilla Address Book connector を無効化    (環境構築を簡単にするため) 日本語 UI が使えるようにします デバッグに便利な幾つかの設定をまとめて行います
  • 29. 29 ①autogen.sh を実行 2/2 ● オプションの指定の仕方によってはエラーになる – エラーが出なくなるまで修正を繰り返す ● エラーが出なくなったら設定を保存する – mv autogen.lastrun autogen.input – autogen.input に指定したオプションの内容が保存されているの で、以後は autogen.input を編集 – この時 autogen.sh はオプション無しで実行 ● 他にも細かい設定ができる – ./autogen.sh --help でヘルプを参照
  • 30. 30 ②make を実行 ● Win32 GNU make を実行する – Cygwin make は非推奨 ● 実は make すれば必要な処理が実行される – autogen.sh 、サブモジュールの取得、ダウンロード ● LibreOffice のビルドが始まるので完了するまで待つ ;; Cygwin Terminal 上で実行してください $ C:/cygwin/opt/lo/bin/make …
  • 31. 31 初回ビルド時の注意 ● ダウンロードが大量に行われるため時間が掛かる – LibreOffice が内部的に利用するソフトウェアのダウン ロードが纏めて行われる( Python, Firebird RDBMS 他 external のモジュール) ● 1 時間くらい? – サブモジュール(翻訳内容など)が clone される ● translations 、 discionaries 等のサブモジュール ● これも 1 時間くらい?
  • 32. 32 ビルド完了 ● ビルド中は大量のメッセージが表示される ● 最終的に、コマンド入力状態に戻ってくる libreofficekit linginguistic lotuswordpro nlpsolver o3tl odk offapi officecfg oovbaapi ackage postprocess pyuno readlicense_oo registry remotebridges reporortdesign ridljar rsc sal salhelper sax sc scaddins sccomp scp2 scrixt setup_native sfx2 shell slideshow smoketest solenv soltools sot s store svgio svl svtools svx sw swext sysui test testtools toolkit tcb ucbhelper udkapi unodevtools unoidl unoil unotest unotools unoxmlhelper vcl winaccessibility wizards writerfilter writerperfect xmergloff xmlreader xmlscript xmlsecurity [build PRL] CustomTarget/instsetoo_native/install/install.phony [build SLC] writerperfect [build SLC] sc [build SLC] chart2 [build SLC] sw [build SLC] libreoffice [build CHK] sd [build CHK] libreoffice [build CUS] instsetoo_native/install [build BIN] instsetoo_native [build MOD] instsetoo_native [build MOD] libreoffice [build BIN] top level modules: libreoffice [build ALL] top level modules: build-non-l10n-only build-l10n-only $
  • 34. 34 自分でビルドした LibreOffice の起動 ● instdir/program/soffice.exe を実行 – インストール作業不要で実行やデバッグが可能 – インストーラーは workdir/installation/LibreOffice_Dev/msi/install/en- US_ja_qtz 配下に作成される ;; Cygwin Terminal 上で実行してください $ $ instdir/program/soffice.exe
  • 35. 35 デバッグ ● Visual Studio を起動する ● soffice.bin プロセスにアタッチしてデバッグする – ソースコードデバッグが可能(デバッグオプションを付 けて autogen.sh した場合)
  • 37. 37 ビルドでエラーが発生したら 1/3 ● エラーメッセージやログをよく見る – 可能なら修正する ● Wiki ページの Known Problems をチェックする – https://wiki.documentfoundation.org/Development/B uildingOnWindows#Known_Problems – Building LibreOffice on Windows with Cygwin and MSVC の最後の方 – ウイルス対策ソフトが原因でビルドが失敗する時の回避 方法等があります
  • 38. 38 ビルドでエラーが発生したら 2/3 ● 他の人たちのビルド状況を見る (Build Status (Tinderboxes)) – http://tinderbox.libreoffice.org/MASTER/status.html ● ビルドエラー修正のコミットがないかリポジトリを見る – https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/master – https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/libreoff ice-5-0 – もしあれば ./g pull でリポジトリを更新して再度ビルド
  • 39. 39 ビルドでエラーが発生したら 3/3 ● ビルドエラーの原因と思われるコミットが適用される前 の状態に戻してビルドしてみる – git log で調べてから、 git reset 等で状態を戻してみる – どのコミットがビルドエラーの原因か特定する
  • 41. 41 ビルドと翻訳 ● KeyID build – KeyID は翻訳の補助で使うための特殊な言語 ● UI や help の翻訳内容が Pootle 上のどこに格納されているかを 特定するために使う – RC フェーズでも自分でビルドすればいつでも KeyID build ● オフィシャルに提供されるバイナリは β 版では KeyID が利用可 能だが、 RC 版は利用できない
  • 42. 42 ビルドに掛かる時間の短縮方法について ● LibreOfficeのビルドには時間が掛かる – スペックによって数十分〜 10 時間以上 ● マルチコア CPUで並列ビルドする – 効果大 – デフォルトでコア数に合わせた並列ビルドの設定になる ● 更に autogen.shの --with-parallelismオプションを使ってチューニング ● 速いストレージを使う(SSD、ストライピング、RAM DISK) – 効果あり ● autogen.shのオプションを追加/変更 – 辞書 /オフラインヘルプ /SDK/インストーラー等の自分が必要ないものを作成しない ● メモリ不足によるスワップが発生しないようにする – と言っても極端に多くのメモリが要求される訳ではない
  • 43. 43 lode : LibreOffice Developement Environment ● https://wiki.documentfoundation.org/Develop ment/lode ● ビルド環境を自動セットアップしてくれるスクリプト – Windows の場合は PowerShell + α ● まだ発展途上? – そのうち Wiki ページの情報が更新されるかも – 今日ご紹介した内容がコマンド一発とかボタン数クリッ クでできるようになるといいですね!!
  • 44. 44 Microsoft Visual Studio 2015 ● 2015 年 7 月 20 日にリリース予定 – 今は RC ● Community Edition もある ● まだ VS2015 で LibreOffice をビルドするは experimental – 既にコード修正は始まっている ● Let's try!
  • 45. 45 Microsoft Visual Studio Project Integration doesn't work ● VS 上で LibreOffice の開発が可能になる機能 – Intellisense 等の便利な機能が使えるはずだが ... ● エラーが出てソリューションファイルがちゃんと生成さ れない – Python 得意な方、是非デバッグを – 私もデバッグ中です
  • 47. 47 参考文献 / Web ページ ● Building LibreOffice on Windows with Cygwin and MSVC: Tips and Tricks(TDF Wiki) – https://wiki.documentfoundation.org/Development/Bu ildingOnWindows ● Visual Studio Community 2013 Download page – https://www.visualstudio.com/products/visual-studio-c ommunity-vs ● Java SE Downloads – http://www.oracle.com/technetwork/java/javase/downlo ads/index.html ● This is the home of the Cygwin project – http://www.cygwin.com/
  • 48. 48 参考文献 / Web ページ ● Dev-tools misc. useful libreoffice development tools ( Win32 GNU make download ) – http://dev-www.libreoffice.org/bin/cygwin/ ● THE APACHE ANT PROJECT HOMEPAGE – http://ant.apache.org/ ● Tinderbox Status Page – http://tinderbox.libreoffice.org/MASTER/status.html – http://tinderbox.libreoffice.org/libreoffice-4-4/status.htm l
  • 49. 49 参考文献 / Web ページ ● libreoffice/core main, development code repository – https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/master – https://gerrit.libreoffice.org/gitweb?p=core.git;a=shortlog;h=refs/heads/libreoff ice-5-0 ● lode : LibreOffice Developement Environment – https://wiki.documentfoundation.org/Development/lode ● LibreOffice を Windows 上でビルドする( 2013- 12-14 第 5 回 関西 LibreOffice 勉強会) – http://www.slideshare.net/tomofumiyagi/libreoffice-bu ildytmkndshortver-29235268