Upload
testnoda
View
875
Download
2
Embed Size (px)
DESCRIPTION
Mac OS X での LibreOffice ビルド手順紹介と報告です。 前回発表した手順に加え、タグやブランチを指定してチェックアウトする方法やビルド時に問題が発生したときの対応を補足して、タグ4.2.0.4でのビルド報告をしました。
Citation preview
関東LibreOfficeオフラインミーティング(#12) 発表
Mac OS XでのLibreOfficeビルド報告
(Ver.2)2014年02月10日
testnoda
E-mail : testnoda at gmail.com(atを@に読み替えてください)
自己紹介● 現在の職業は社内システムのプログラマーです。● 技術的な関心事はシミュレーションモデルのオープンな実行プラットフォーム開発です。そのため、オープンソース全般に興味を持っています。
● 自分の知識や技術を高める目的で、オープンソースの勉強会に参加させて頂いています。
● 本発表の主張・見解は、参考文献からの引用箇所を除いて、私の個人的見解に基づくものであり、いかなる組織・団体等の見解とも関係ありません。
概要● 本発表で紹介する手順は、「Building LibreOffice on Mac OS X: Tips
and Tricks」に記載の「最小限のセットアップ」の2014年2月現在の内容を基本にしたものです。( URL: https://wiki.documentfoundation.org/Development/BuildingOnMac/ja )
● ただし、以下の手順を追加しています:– gitタグやブランチを指定してビルドする手順– 日本語UIが表示できるようにビルドする手順「 ローカライズ版 LibreOffice のビルド方法」の手順を参考にしています:
( URL: https://wiki.documentfoundation.org/Development/How_to_build/localized/ja )
– これまで自分がビルドをしてて遭遇した問題とその対処方法● なお、本手順でのビルドは以下のリビジョン(タグ)で実績があります:– libreoffice-4.2.0.4
前提環境
● Mac OS X 10.6.8 (Snow Leopard)● Xcode 3.2.6
PCに付属のCD-ROMで導入し、自動更新によって3.2.6にアップデートされたものです。
● 後述しますが、普段使いのMacではビルドが通らずに、結局Snow Leopardをクリーンインストールした環境を構築してビルドしました。
ビルド環境構築gitインストール
● インストール方法は自由。例えば以下の方法が簡単:– http://git-scm.com/ から、Mac用のdmgファイルをダウンロード– dmgファイルをダブルクリックして展開– 以下のような仮想ディスクができるので、その中のpkgファイルをダブルクリックします。インストーラが起動するので、後は指示に従ってインストールします。
ビルド環境構築環境変数設定
● ~/.bashrcファイルを作成して、次の内容を記述:
● ~/.bash_loginファイルを作成して、次の内容を記述:
● 以下のように内容確認できます:
export PATH=/opt/lo/bin:/sbin:$PATH
source ~/.bashrc
ビルド環境構築ターミナルを終了して再度起動
● 再度起動すると、例えば以下のようにPATHに/opt/lo/binが追加されています:
ビルド環境構築ディレクトリ作成
● ~/lo , ~/lo/packages を作成:
● 以下のように結果確認できます:
mkdir -p ~/lo/packages
ビルド環境構築autoconf
● autoconfをダウンロード、ビルド、インストール:
● 以下のように結果確認できます:
cd ~/lo/packagescurl -O http://mirrors.kernel.org/gnu/autoconf/autoconf-2.65.tar.gztar -xf autoconf-2.65.tar.gzcd autoconf-2.65./configure --prefix=/opt/lomakesudo make install
ビルド環境構築automake
● automakeをダウンロード、ビルド、インストール:
● 以下のように結果確認できます:
cd ~/lo/packagescurl -O http://mirrors.kernel.org/gnu/automake/automake-1.11.tar.gztar -xf automake-1.11.tar.gzcd automake-1.11./configure --prefix=/opt/lomakesudo make install
ビルド環境構築GNU coreutils
● GNU coreutilsから'touch'コマンドをダウンロード、ビルド、インストー ル (Mac OS X 10.6 の場合のみ)):
● 以下のように結果確認できます:
cd ~/lo/packagescurl -O http://ftp.gnu.org/gnu/coreutils/coreutils-8.13.tar.gztar -xf coreutils-8.13.tar.gzcd coreutils-8.13./configure --prefix=/opt/lomakesudo cp ./src/touch /opt/lo/bin/
ソースコード準備Gitリポジトリをクローン作成
● 'core'のGitリポジトリをクローン作成
作成後、以下のようにcoreディレクトリができています。
cd ~/logit clone git://gerrit.libreoffice.org/core
注意:https://www.libreoffice.org/developers の記述によると、git://anongit.freedesktop.org/libreoffice/core
から取得するようにありますが、本手順では、「Building LibreOffice on Mac OS X: Tips and Tricks」に従い、
git://gerrit.libreoffice.org/core
からクローンしています。
ソースコード準備リビジョンを指定してチェックアウト
● リビジョンの指定には、次の2通りの方法があります。– タグで指定– ブランチで指定
● タグは内容が固定されているので、タグを指定してビルドできればそれが一番いいです。
● しかし、タグを指定してもビルドが上手くいかないときや、リリース直前の時期でリリースブランチの最新状態を試したいときなど、タグではなくブランチを指定してビルドを試したくなることもあります。
ソースコード準備リビジョンを指定してチェックアウト
– タグのチェックアウト実行(以下はlibreoffice-4.2.0.4の例):
– 以下実行例です:
cd ~/lo/coregit checkout libreoffice-4.2.0.4
ソースコード準備リビジョンを指定してチェックアウト
● タグで指定する場合は、以下の手順で行います。– チェックアウトしたいタグを確認:
cd ~/lo/coregit tag -l -n
タグ名 そのタグの説明
– 以下実行例です:
– 最新のタグが見つからない場合、以前にクローンしたGitリポジトリが古い可能性があります。その場合、以下の手順でリモートリポジトリから差分を取得します:
cd ~/lo/coregit pull --tags
ソースコード準備リビジョンを指定してチェックアウト
cd ~/lo/coregit branch -r
● ブランチで指定する場合は、以下の手順で行います:– まず、リモートのブランチを確認:
cd ~/lo/coregit checkout -t -b libreoffice-4-2-0 origin/libreoffice-4-2-0
ブランチ名
– 次にリモートのブランチをローカルに取得してチェックアウト:
cd ~/lo/coregit pull
– ブランチの内容は日々更新されていくので、以下の手順で最新の状態にします:
ソースコード準備リビジョンを指定してチェックアウト
● タグかブランチかによらず、何らかの原因でpullをしても差分がうまく取得されない場合もあります。その場合、以下の手順でいったんローカルのGitリポジトリを削除してクローンしなおします:
cd ~/lorm -rf coregit clone git://gerrit.libreoffice.org/core
ソースコード準備リビジョンを指定してチェックアウト
● 現在チェックアウトされているリビジョンがどこのタグまたはブランチにいるかは以下の手順で確認できます:
cd ~/lo/coregit tag --contains=HEAD
– タグの確認:
cd ~/lo/coregit branch
– ブランチの確認:
ビルド実行autogen.sh
● オプション--with-langで表示言語を指定すると、日本語UIが表示できるようにビルドされます。
cd ~/lo/core./autogen.sh --with-lang="ja"
● 処理成功すると以下のような感じになります:
● libreoffice-4.2.0.4では、MacOSXではOpenCL関連のエラーが出てユニットテストが通らなかったので、以下のようにオプション指定しました。
cd ~/lo/core./autogen.sh --with-lang="ja" --disable-opengl --disable-opencl
ビルド実行make実行
● make実行:cd ~/lo/coremake cleanmake
所要時間は、プロセッサ1.4GHz、メモリ2GBのマシンで12時間くらい?でした。
コンパイルやリンクのような通常のビルド処理以外にも、libreiffice.orgのサーバからファイルを取ってくるなど、かなりいろいろな処理をやっているようです。新しいバージョンでは、ユニットテストも行っているようで、さらに時間がかかるようになりました。
● 処理成功すると以下のような感じになります:
ビルド確認● 以前は「make install」で/usr/local配下にアプリケーションができていましたが、新しいバージョンでは、「make install」はなくなったようです。
● アプリケーションは ~/lo/core/instdir 内にできます。● あとはダブルクリックで実行すると、通常のLibreOfficeと同様に起動できます。
起動確認
(日本語表示したところ。)
起動確認
日本語とKeyIDが選択できます。
起動確認
(KeyID表示したところ。)
起動確認
(提供者表示。自分のユーザー名が出るようです。)
感想● 検証時の最新バージョンだった、4.2.0.4は、これでビルドできました。● 4.2系になってビルド時のユニットテストの項目が増えたようで、テストが通らずにビルドが失敗することが何度かありました。
● 原因は、普段使いのMacだったため、/usr/libや/usr/localにいろいろとインストールしていたのが良くなかったようです。自分でいろいろなツールをビルドして/usr配下にインストールしていると、それがLibreOfficeのビルドに影響するようです。
● 自分は、結局OSのクリーンインストールをしてやりなおしました。● また、OpenCL関係のユニットテストが通らないのでautogen.shのオプションで除外しました。
● autogen.shでOpenGLが自動的に無効化されるようですが、検証した手順では念のためこれもautogen.shのオプションで明示的に除外しました。
● Mavericksでのビルドは、ここで説明したのとは別にautogen.shのオプションを追加するなどの対応が必要なようです。
ありがとうございました。
参考文献、著作権表示● 本スライドの作成に当たって、The Document
Foundationの以下ページの記述を一部流用しています:– https://wiki.documentfoundation.org/Development/BuildingOnMac/ja
– https://wiki.documentfoundation.org/Development/How_to_build/localized/ja
● 本スライドは上記ページのライセンスに基づき、クリエイティブ・コモンズ・ライセンス3.0の「表示+継承」(CC BY-SA 3.0)で配布します。
● 本スライドはSlideShareにて公開します。