how to build libreoffice on your desktop (日本語版)
TRANSCRIPT
1 openSUSE.Asia Summit October 21-22, 2017
How to build LibreOfficeon your desktop
Masataka KONDOLibreOffice Japanese TeamOctober 22nd , 2017
2 openSUSE.Asia Summit October 21-22, 2017
自己紹介
3 openSUSE.Asia Summit October 21-22, 2017
コミュニティでの活動
2003 年から 2004 年まで、 OpenOffice.org JA Team の QA コーディネータでした。
LibreOffice の活動に復帰したのが 2012 年の 9 月
2014 年の 3 月に正式にスタッフになりました。
4 openSUSE.Asia Summit October 21-22, 2017
現在の居住地は?
岐阜県の各務原市在住です難読地名です。予備知識なしで読めますか?
航空自衛隊岐阜基地があり、中心部に飛行場が位置します川崎重工をはじめとした航空機産業が盛んな街です
5 openSUSE.Asia Summit October 21-22, 2017
念のため地図で示します
6 openSUSE.Asia Summit October 21-22, 2017
試作機の F-2A/B が見られる場所です
7 openSUSE.Asia Summit October 21-22, 2017
趣味について
写真撮影を 20 年ほど続けてきました
デジタルカメラへの移行は 2005 年から
8 openSUSE.Asia Summit October 21-22, 2017
はじめに : なぜビルドに挑戦するのか
概要にも書きましたが、自己ビルドへの挑戦は開発に参加する第一歩となります。
9 openSUSE.Asia Summit October 21-22, 2017
ビルドをやって開発に参加しよう
コミュニティが得られること :開発に将来関わる人材が確保できる可能性がある人員の増加によるソフトウェアの活性化
自身が得られること :ソフトウェアを使う技術、問題解決能力バグを見つけて潰す技術
新機能を体験することの経験・知見などいろいろ
10 openSUSE.Asia Summit October 21-22, 2017
最適な構成を獲得することができます
5.4 など最近のバージョンは GTK3 が使われていますが
5.0 のころは GTK2 でしたのでショートカットの下線があります
Self Build
TDF Distributed
11 openSUSE.Asia Summit October 21-22, 2017
目標 : LibreOffice Online (LOOL) など
LOOL の構築には LibreOffice のビルドが必要です
LOOL がよくなってくると、構築の機会も増えてくるはずです
さらに先、モバイル機器向け LibreOfficeAndroid のソースコードは現時点で統合済です
Mac でコンパイルすると、「 iOS 」というフォルダができます
12 openSUSE.Asia Summit October 21-22, 2017
Linux以外の環境について
Windows 、 Mac OS について手短に紹介します。詳細は勉強会などの資料を参照してください。
13 openSUSE.Asia Summit October 21-22, 2017
Windows の場合
日本でも時々話題になっています
各地の LibreOffice 勉強会で何度かとりあげられてます
Visual Studio 2013 Community 入手は過去に比べ困難
マイクロソフトアカウントが絶対に必要となります
Cygwin のインストールも必要です
他の環境より困難というかおそらく一番難しいです環境設定が終わればあとは比較的楽なはず
14 openSUSE.Asia Summit October 21-22, 2017
Mac OS の場合
TDF の Wiki 開発ページを参照してください
App Store で Xcode を入手してください
「 LODE 」でツールを揃えるのが楽です
残念ながら現状のソースは firebird をコンパイルする時点で失敗します
15 openSUSE.Asia Summit October 21-22, 2017
Linux はもっとも開発者が多く、簡単な環境です
もちろんもう使っていますよね ?対応の容易さから、ユーザーの多いディストリビューション推奨
もちろん openSUSE も推奨の一番手です !!
16 openSUSE.Asia Summit October 21-22, 2017
事例 1 : openSUSEでは
TDF wiki に書いてあるとおりの方法で構築が完了しますが ... Zypper についての補足説明を非 SUSEユーザー向けにおこないます。
17 openSUSE.Asia Summit October 21-22, 2017
TDF の Wiki 、開発ページを読んでね
wiki.documentfoundation.org/Development/BuildingOnLinux
18 openSUSE.Asia Summit October 21-22, 2017
Read the wiki...
Zypper でまず依存性を解消します
ソースツリーをクローンしてください
初期状態では git は含まれてませんのでインストールしましょう
% zypper si -d LibreOffice
% git clone git://anongit.freedesktop.org/libreoffice/core core
% zypper in git
19 openSUSE.Asia Summit October 21-22, 2017
本当にそれだけなんですか?
間違いなくそれだけで完了します ! (1) % zypper si -d libreoffice(2) % ./autogen.sh(3) % make build
ビルドには数時間かかりますのでコンパイルを仕掛けたらおとなしく寝ましょう!翌朝には完成品ができあがってるはずです
20 openSUSE.Asia Summit October 21-22, 2017
OS のインストールが不完全な場合
まれにですが、問題点が起こる可能性があります
Gnome 、 KDE抜きでインストールした場合
すみません Cinnamon を使いたかったので ...Zypper をつかって足りないものをインストールしましょう
openSUSE を日常的に使ってない人むけに
オプション “ search” (“se” で短縮可能 ) でパッケージ候補の名前を検索可能です
21 openSUSE.Asia Summit October 21-22, 2017
“zypper search” の例
./autogen.sh が cups library の欠損で止まります
% ./autogen.sh....(snip)----configure: error: Could not find CUPS. Install libcups2-dev or cups-develError running configure at ./autogen.sh lin 293.
% zypper se cups-develS | Name | Summary | Type--+--------------------+----------------------------------+-------- | cups-devel | Development Environment for CUPS | package | libgnomecups-devel | GNOME CUPS library | package
22 openSUSE.Asia Summit October 21-22, 2017
Ubuntu などの場合
次節で紹介する Linux Mint の対処法につながります
23 openSUSE.Asia Summit October 21-22, 2017
Ubuntu などの場合
必要なパッケージを Web で検索して調べます
24 openSUSE.Asia Summit October 21-22, 2017
いくらなんでもおかしくないか… ! ?
openSUSE では zypper をインストールにも、パッケージ名検索にも用います。
Debian や Ubuntu では apt-get がインストールに使われます
じゃ、どうやってパッケージ名を検索するんだ ?
答 : apt-get ではなく apt-cache で検索
コマンドが別名で分離されてるので知らないと対処できない
25 openSUSE.Asia Summit October 21-22, 2017
事例 2 : Linux Mintの場合
このディストリビューションは依存性解決スクリプトが動きません。そのため、手動で必要なパッケージをインストールすることになります。
26 openSUSE.Asia Summit October 21-22, 2017
おそらく Cinnamon / Mate が問題の原因?
TDF Wiki に示された方法が通用しません
似たようなトラブルは openSUSE で、 Gnome/KDE をインストールせずに進めた場合に遭遇しました
Linux Mint ってどんなディストリビューション?
Ubuntu を基にしている (Debian のもある ) Cinnamon か Mate が標準環境として用意されている
地味ながら KDE もしくは Xfce も選択可能
で、どうすんの?
autogen.sh が止まる度に、パッケージを手動でインストール
27 openSUSE.Asia Summit October 21-22, 2017
そんなことして何の意味があるんですか?
必要なライブラリ、パッケージに対する理解が深まる。似たような課題に遭遇した新人に正確なアドバイスができる
「判で押したようなルーチンワーク」では成長しないよ
具体的事例を順を追って説明します
28 openSUSE.Asia Summit October 21-22, 2017
(Cinnamon だけ ) : aclocal がないよ?
“aclocal” は autotool に対して依存性があります
先に “ autotools-dev” を入れ、 次に “ automake” をインストールしてください。 aclocal はそこに含まれます
なぜか Mate版には aclocal があるのでこの対処が必要なのはCinnamon版だけです。
$ sudo apt-get install autotools-dev$ sudo apt-get install automake
29 openSUSE.Asia Summit October 21-22, 2017
スクリプトが止まる度に対処を繰り返します
止まった場所のエラーメッセージは足りないパッケージを指示
- libcups2-dev- libfontconfig1-dev
前述したように、 Web で検索するか apt-cache でパッケージ名を特定します
$ sudo apt-get install libcups2-dev$ sudo apt-get install libfontconfig1-dev
30 openSUSE.Asia Summit October 21-22, 2017
C++ コンパイラもはいってません
最初から gcc が使えるのが基本ですが、 C++ は入ってないことが多いです。もちろんインストールしましょう
$ sudo apt-get install g++
31 openSUSE.Asia Summit October 21-22, 2017
OpenJDK がおすすめ
Oracle版の「 30億のデバイス云々」もいいんですが
その場合は PPA リポジトリの指定が必要です
“--without-java” のオプションをつけても構いません
OpenJDKおすすめ。 Android でも必要になるよ!
$ sudo apt-get install openjdk-8-jdk
32 openSUSE.Asia Summit October 21-22, 2017
足りないパッケージその 1
全部で 28 のパッケージが autogen.sh を通すために必要
以下に必要となる順に示します
- gperf- doxygen- libxslt1-dev- xsltproc- libxml2-utils- python3-dev- python-dev
$ sudo apt-get install gperf$ sudo apt-get install doxygen...(snip)...
33 openSUSE.Asia Summit October 21-22, 2017
Kerberos 関連のライブラリが 16.4以降必要
Linux Mint 18.x はそれに該当します
Kerberos 関連のライブラリのインストールが必要です
TDF wiki の英語オリジナルからは記述が消えました
日本語のアレな訳では残ってますので ...
以下の2つのパッケージが必要になります
- comerr-dev- libkrb5-dev
$ sudo apt-get install comerr-dev$ sudo apt-get install libkrb5-dev
34 openSUSE.Asia Summit October 21-22, 2017
足りないパッケージ その 2 : 主に X11 関連
2ページ前からのつづきです
- libx11-dev- libxt-dev- libxext-dev- libxrender-dev- libxrandr-dev- libgtk-3-dev- libdbus-glib-1-dev- libgtk2.0-dev
$ sudo apt-get install libx11-dev$ sudo apt-get install libxt-dev...(snip)...
35 openSUSE.Asia Summit October 21-22, 2017
残りは3つです。もう少し!
OpenGL のライブラリと自動ビルド、テストツールです
- libglew-dev- ant- junit4
$ sudo apt-get install libglew-dev$ sudo apt-get install ant$ sudo apt-get install junit4
36 openSUSE.Asia Summit October 21-22, 2017
Autogen は通ってもまだ必要なものがあります
LibreOffice のビルドにはもうひとつパッケージが必要です
スクリプトの最後にある Warning にも対処しておきましょう
- nasm- libgcrypt11-dev
$ sudo apt-get install nasm$ sudo apt-get install libgcrypt11-dev
37 openSUSE.Asia Summit October 21-22, 2017
Linux Mint でビルドする際のコツみたいなもの
マニュアルでパッケージをインストール、でもできることの証明どんなパッケージが必要だったのかメモるのがいいですよ
38 openSUSE.Asia Summit October 21-22, 2017
まとめ
必要なのは一晩ビルドに寝かせる時間だけ。さぁやってみよう!
39 openSUSE.Asia Summit October 21-22, 2017
Continue better habits for your life
You need only enough time to build it.Only a few hours with current machines.
I’m sorry about Arm architectures, evaluation board, etc.You must get “good sleep” for your health.
40 openSUSE.Asia Summit October 21-22, 2017
デモ :
41
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.
openSUSE.Asia Summit October 21-22, 2017
Let’s try. Good Luck!