これはOpenOffice.org 2.0のビルドに関するFAQです。主に、日本語版のビルドをする際に起きるエラーの対処方法に関するFAQです。また、ここでは紹介されていないバグについては、すでに最新のマイルストーンでは解決されているかもしれません。まだ解決していない場合もありますが、そのような情報を得たい場合には開発メーリングリストに参加しましょう。ここでは、日々そのような問題について議論されています。
FAQ
- ビルドの手順に関するFAQ
- ビルドのエラーに関するFAQ
- "dmake: Error code 255, while making 'openoffice_ja'"といってビルドできません
- "openoffice-redhat-menus-1.9.62-1.noarch.rpm"や"openoffice-suse-menus-1.9.62-1.noarch.rpm"が見つかりません
- "dmake: Error code 255, while making 'do_it_noopt'"というエラーが発生します
- "dmake: Error code 1, while making '../../unxlngi4.pro/slo/animationfactory.obj'"というエラーが発生します
- "dmake: Error code 1, while making '../../unxlngi4.pro/slo/doctempl.obj'"というエラーが起きます
- "dmake: Error code 255, while making 'openoffice_en-US'"というエラーが起きます
- その他のFAQ
EPMはどのようにインストールするのですか?
まず、EPMのダウンロードページに行き、"Download From:"より適当なミラーサーバを選択するとダウンロードが開始します。適当なディレクトリに保存してください。ダウンロードが完了したら、まずはソースコードを展開します。
$ tar xvfz epm-3.7-source.tar.gz
$ cd epm-3.7
次にOpenOffice.ortのinstallationプロジェクトから、OpenOffice.orgのビルドのために作られたパッチをダウンロードします。あとは、そのパッチを適用してコンパイルとインストールをmakeにより行うだけです。ちなみに、このパッチをあてないと、正常にビルドができません。
$ wget http://installation.openoffice.org/epm-3.7.patch
$ patch -p2 < ./epm-3.7.patch
$ ./configure
$ make
$ su
# make install
"dmake: Error code 255, while making 'openoffice_ja'"といってビルドできません
issue 36708にあるようなエラーが起こることがあります。これは、helpcontent2をビルドした後に作成されたファイルが正常にsolverにコピーされていないためです。${SRC_ROOT}/helpcontent2/prj/d.lstの
..\%__SRC%\bin\sbasic_ja-JP.zip %_DEST%\pck%_EXT%\sbasic_ja-JP.zip ..\%__SRC%\bin\scalc_ja-JP.zip %_DEST%\pck%_EXT%\scalc_ja-JP.zip ..\%__SRC%\bin\schart_ja-JP.zip %_DEST%\pck%_EXT%\schart_ja-JP.zip ..\%__SRC%\bin\sdraw_ja-JP.zip %_DEST%\pck%_EXT%\sdraw_ja-JP.zip ..\%__SRC%\bin\shared_ja-JP.zip %_DEST%\pck%_EXT%\shared_ja-JP.zip ..\%__SRC%\bin\simpress_ja-JP.zip %_DEST%\pck%_EXT%\simpress_ja-JP.zip ..\%__SRC%\bin\smath_ja-JP.zip %_DEST%\pck%_EXT%\smath_ja-JP.zip ..\%__SRC%\bin\swriter_ja-JP.zip %_DEST%\pck%_EXT%\swriter_ja-JP.zip
となっている部分を
..\%__SRC%\bin\sbasic_ja.zip %_DEST%\pck%_EXT%\sbasic_ja.zip ..\%__SRC%\bin\scalc_ja.zip %_DEST%\pck%_EXT%\scalc_ja.zip ..\%__SRC%\bin\schart_ja.zip %_DEST%\pck%_EXT%\schart_ja.zip ..\%__SRC%\bin\sdraw_ja.zip %_DEST%\pck%_EXT%\sdraw_ja.zip ..\%__SRC%\bin\shared_ja.zip %_DEST%\pck%_EXT%\shared_ja.zip ..\%__SRC%\bin\simpress_ja.zip %_DEST%\pck%_EXT%\simpress_ja.zip ..\%__SRC%\bin\smath_ja.zip %_DEST%\pck%_EXT%\smath_ja.zip ..\%__SRC%\bin\swriter_ja.zip %_DEST%\pck%_EXT%\swriter_ja.zip
というようにja-JPをjaに置換します。これで正常にビルドが行われるはずです。
"openoffice-redhat-menus-1.9.62-1.noarch.rpm"や"openoffice-suse-menus-1.9.62-1.noarch.rpm"が見つかりません
instsetoo_nativeのビルド時に、次のようなメッセージが表示される場合、
*********************************************************************
ERROR: The following errors occured in packaging process:
ERROR: Source for openoffice-redhat-menus-1.9.62-1.noarch.rpm not found!
ERROR: Could not copy to RPMS/openoffice-redhat-menus-1.9.62-1.noarch.rpm
ERROR: Source for openoffice-suse-menus-1.9.62-1.noarch.rpm not found!
ERROR: Could not copy to RPMS/openoffice-suse-menus-1.9.62-1.noarch.rpm
*********************************************************************
rpmコマンドとrpmbuildコマンドのあるディレクトリが異なっている為に、sysuiプロジェクトで上記のrpmパッケージが作成出来ずにこの様なエラーが発生します。
sysuiにあるunxlngi4.pro等(linuxの場合)というディレクトリを削除し、再度sysuiプロジェクトをビルドし直してログをとってみて下さい。
もし、そのログの中に次の様な一文があればまず間違いありません。
--buildroot: unknown option
この場合、rpmコマンドのあるディレクトリにrpmbuildのシンボリックリンクを張ることで回避可能です。
尚、sysuiにあるunxlngi4.pro等(linuxの場合)というディレクトリを削除して再度ビルドし直さないと、openoffice-redhat-menus-1.9.62-1.noarch.rpmやopenoffice-suse-menus-1.9.62-1.noarch.rpmは作成されません。
"dmake: Error code 255, while making 'do_it_noopt'"というエラーが発生します
m62以前のバージョンではこの投稿にあるようなエラーが起こることがあります。このバグを修正するには、issue 37204にアップロードされたパッチを${SRC_ROOT}/automation/source/server/statemnt.cxxに適用します。
"dmake: Error code 1, while making '../../unxlngi4.pro/slo/animationfactory.obj'"というエラーが発生します
http://tools.openoffice.org/servlets/ReadMsg?listName=dev&msgNo=5379にあるに、m65をビルドしようとすると、animationnodehelper.hxxが無いためにanimationnodefactory.objを作成できないことがあります。
これは、そもそもgraphicsプロジェクトのanimationsというCVSモジュールが、CVSROOT/modulesにエイリアスとして記述されていないことが原因です。(参照:Issue 38615)
このanimationsモジュールを以下のようにして${SRC_ROOT}にCVSからチェックアウトし、ビルドをし直すとうまくいきます。
$ cd ${SRC_ROOT}
$ cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout -r ${BRANCH_TAG} -d animations graphics/animations
"dmake: Error code 1, while making '../../unxlngi4.pro/slo/doctempl.obj'"というエラーが起きます
この問題はgccのバージョンが3.3のときのみ起こる問題のようです。このパッチをsfx2/source/doc/doctempl.cxxに適用してください。(参照:Issue 38506)
$ cd ${SRC_ROOT}/sfx2/source/doc
$ wget http://www.openoffice.org/nonav/issues/showattachment.cgi/20203/buildfix-sfx2.diff
$ patch -p3 < buildfix-sfx2.diff
"dmake: Error code 255, while making 'openoffice_en-US'"というエラーが起きます
... languages en-US ...
... analyzing files ...
ERROR: The following files could not be found:
ERROR: File not found: msfontextract
... cleaning the output tree ...
***************************************************************
ERROR: Missing files
in function: remove_Files_Without_Sourcedirectory
Saved logfile: ${SRC_ROOT}/instsetoo_native/unxlngi4.pro/OpenOffice/logging/en-US/log_SRC680__en-US.log
***************************************************************
Tue Dec 21 05:38:47 2004 (00:02 min.)
dmake: Error code 255, while making 'openoffice_en-US'
というようにmsfontextractというファイルが見つからなくて、このようなエラーが起きることがあります。WITH_FONTOOO環境変数が"YES"にデフォルトで設定されていないため、msfontextractモジュールがビルドされません。しかし、ここでWITH_FONTOOO環境変数が設定されていないにも関わらず、instsetoo_nativeをビルド中にmsfontextractを探しにいくためにエラーになります。
対処方法として、msfontexractをビルドしてしまう、という手があります。WITH_FONTOOO環境変数をYESにしてビルドしてみてください。
$ export WITH_FONTOOO="YES"
$ dmake
これによりmsfontextractがビルドされ、問題が解決するでしょう。(参照:issue 32814)
また、
***************************************************************
ERROR: Unknown format: RPM バージョン 4.2 ! Expected: a.b.c
in function: determine_rpm_version
Saved logfile: /home/bluedwarf/data/ooobuild/SRC680_m65/instsetoo_native/unxlngi4.pro/OpenOffice/logging/en-US/log_SRC680__en-US.log
***************************************************************
Tue Dec 21 08:43:07 2004 (02:58 min.)
dmake: Error code 255, while making 'openoffice_en-US'
というようなエラー起きることがあります。これは、ビルドしている環境のrpmのバージョン出力が3桁で無い場合に発生する問題です。上記の例では'rpm --version'でのバージョンの出力が"RPM バージョン 4.2"というように2桁になっているために、エラーが発生します。この問題を解決するには、solenv/bin/modules/installer/epmfile.pmに
--- epmfile.pm.org 2004-11-30 09:27:01.687921184 +0900
+++ epmfile.pm 2004-11-30 09:29:30.618280328 +0900
@@ -945,6 +945,7 @@
push( @installer::globals::logfileinfo, $infoline);
if ( $rpmout =~ /(\d+)\.(\d+)\.(\d+)/ ) { $rpmversion = $1; }
+ elsif ( $rpmout =~ /(\d+)\.(\d+)/) { $rpmversion = $1; }
else { installer::exiter::exit_program("ERROR: Unknown format:
$rpmout ! Expected: a.b.c", "determine_rpm_version"); }
return $rpmversion;
のようなパッチをあてます。これにより、2桁のバージョン出力に対応することができます。(参照:issue 37405)
どうしてRPMが必要なのですか?
EPMがrpmパッケージを作成するのにrpmコマンドを使用しているからです。