試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

x86_64なOpenOffice.orgのバイナリを別のディストリから借りてみるテスト

Gentoo Linuxの「openoffice-bin」パッケージは、本家の(RPMパッケージ配布の32bitな)バイナリを展開してインストールするもので、本家がx86_64版の配布をするようになるまでは恐らくずっと32bit版のみしか使えない。
x86_64版は、「openoffice」パッケージを使用して、手元でビルドすることでインストールすることはできるのだが(下のスプラッシュ画像は2.2.1のときのもの)、

Athlon 64 3500+(x86_64上)ではビルドに6時間半ぐらいの時間がかかってしまった*1ため、省電力も考えると、できればバイナリパッケージを使用したいところ。
そこで、openoffice-binのebuildを修正して、別のディストリのx86_64版に含まれるOpenOfficeのパッケージを使えないか、と思い、実験してみた。うまくいかなかったものについては、手順などを省略している。
試したディストリは、

  • x86_64版がある
  • パッケージがISOイメージの中のみに存在するのではなく、HTTPもしくはFTPのサーバから直接パッケージのファイルをダウンロードできる
  • パッケージのバージョンが古すぎない

の条件を満たしたもの。
(2008/9/14)OpenOffice.orgバージョン3のRC(リリース候補)1からはx86_64版が公式に配布されるようになっている。これにより、x86_64版を探す必要はなくなる。

  1. Ubuntu Gutsy(2.3.0)、Mandriva 2008.0(2.2.1)
  2. Debian(2.3.0)
  3. Fedora 8(2.3.0)

Ubuntu Gutsy(2.3.0)、Mandriva 2008.0(2.2.1)

$ ooffice
javaldx: Could not find a Java Runtime Environment!
no suitable windowing system found, exiting.

この「no suitable windowing system found」のエラーは、調べてもSELinux(手元の環境では使用していない)関係の情報ばかりで、どうすることもできず、諦めることに。また、x86_64ではないが、独自ビルド版(waooo)のもの(バージョンは2.3.0と2.3.1RC1で確認)も、このエラーでダメだった。

Debian(2.3.0)

$ /usr/lib64/openoffice/program/soffice
javaldx: Could not find a Java Runtime Environment!
/usr/lib64/openoffice/program/soffice.bin: /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib64/openoffice/program/libbasegfx680lx.so)

このメッセージの後で固まった。手元のGCCのバージョン(4.1.2)が古いのではないのかという気がするが、バージョンを上げないといけないのであれば見送り。

$ objdump -p /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/libstdc++.so.6 | grep GLIBCXX
2 0x00 0x08922974 GLIBCXX_3.4
3 0x00 0x02297f81 GLIBCXX_3.4.1
        GLIBCXX_3.4
4 0x00 0x02297f82 GLIBCXX_3.4.2
        GLIBCXX_3.4.1
5 0x00 0x02297f83 GLIBCXX_3.4.3
        GLIBCXX_3.4.2
6 0x00 0x02297f84 GLIBCXX_3.4.4
        GLIBCXX_3.4.3
7 0x00 0x02297f85 GLIBCXX_3.4.5
        GLIBCXX_3.4.4
8 0x00 0x02297f86 GLIBCXX_3.4.6
        GLIBCXX_3.4.5
9 0x00 0x02297f87 GLIBCXX_3.4.7
        GLIBCXX_3.4.6
10 0x00 0x02297f88 GLIBCXX_3.4.8
        GLIBCXX_3.4.7

Fedora 8(2.3.0)

色々なパッケージのバージョンを上げないと恐らくダメだろうと思っていたのだが、動作した。ただし、Javaの検出ができない(現在、公式版の(32bitな)OOoを含め、Javaが検出できない状態なので、Fedora版固有かどうかは不明)のと、ヘルプが出ない制約はある。ICUライブラリのバージョン3.8も必要(Portageツリーには無いが、修正により入れることは可能)。また、全てのx86_64版Gentoo Linuxで動作することは保証できない。
下のようなebuildでインストールしたが、ロケール名の処理が適当(日本語以外考えていない)なのと、インストール処理自体も怪しいこと、SRC_URIの書き方が悪い*2こと、依存パッケージの記述が不十分な可能性が高いことなどもあり、いわゆる人柱版扱いとする。スペース節約のため、bzip2圧縮+base64で。
[base64]ファイル名: openoffice-bin-fedora-2.3.0.ebuild.bz2.b64

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

インストール例。ローカルOverlayの場所は環境によって読み替える。/etc/portage/package.keywordsの設定も必要。

$ sudo mkdir /usr/local/overlays/local/dev-libs/icu/files /usr/local/overlays/local/app-office/openoffice-bin-fedora/files -p
$ sudo sh -c 'sed -e "s|ftp://ftp.software.ibm.com/software/globalization/icu|http://download.icu-project.org/files/icu4c|" -e "s/alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x86-fbsd/~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd/" /usr/portage/dev-libs/icu/icu-3.6-r1.ebuild > /usr/local/overlays/local/dev-libs/icu/icu-3.8.ebuild'
$ sudo cp openoffice-bin-fedora-2.3.0.ebuild /usr/local/overlays/local/app-office/openoffice-bin-fedora/
$ sudo cp /usr/portage/app-office/openoffice-bin/files/* /usr/local/overlays/local/app-office/openoffice-bin-fedora/files/
$ sudo sed -i 's/\(openoffice\)/\1.org/g' /usr/local/overlays/local/app-office/openoffice-bin-fedora/files/*
$ sudo ebuild /usr/local/overlays/local/dev-libs/icu/icu-3.8.ebuild digest
$ sudo ebuild /usr/local/overlays/local/app-office/openoffice-bin-fedora/openoffice-bin-fedora-2.3.0.ebuild digest
$ sudo emerge -av openoffice-bin-fedora


バージョン情報ダイアログには、Fedora 8のものであることが示されている。

*1:バージョン2.2.1で確認した大体の時間。ディスク領域も5GiB以上が必要。参考までに、Wineのビルド時間は25分ぐらい

*2:使用しているアーキテクチャ用のファイルしかダイジェストが取れない書き方をしている