2012/Feb/29: The FreeBSD port has been merged in the Apache SVN repository. The Apache OpenOffice blog has a new entry from Maho@.
Older OpenOffice.org porting news can be found here.
Officially supported by office@freebsd.org. If your build is broken, please let us know. Recommendation is FreeBSD 8.1-RELEASE.
We had serious implementation differences in rtld.c between FreeBSD and NetBSD/Linux/Solaris which had been producing very weird problems and a hard-to-track bug. It was fixed after 5.2.1-RELEASE and 4.11-RELEASE. Please see the commit log for details. We decided to mark this port as BROKEN for them, however, and a patch for rtld.c for 5-RELENG are available. This patch is totally unsupported so use it at your own risk. Feedback is welcome. This has reached to the end of life.
% su Password: # fetch http://people.freebsd.org/~maho/ooo/patch-rtld.c-releng5 # cd /usr/src/libexec/rtld-elf ; patch < patch-rtld.c-releng5 # make ; make depend ; make install
Basically, just typing make 'install' will work fine for standard installations. It will fetch everything you need from the Internet while you sit back and drink a cup of coffee or take a nap. However, compiling jdk is the most tedious part (i.e. fetching the java source code and enabling the linux binary compatibility mode required by the linux version of jdk for bootstrapping). I'll assume you have already installed JDK 1.6.0 (/usr/ports/java/jdk16) via ports in this tutorial. If you want to build a developer version or other snapshot versions of OOo, just cd to different directory; /usr/ports/editors/openoffice.org-3-devel or /usr/ports/editors/openoffice.org-3-devel.
% cd /usr/ports/editors/openoffice.org-3 ; make % su Password: # make install- Building/installing/packaging a localized language package (Japanese version for example)
% cd /usr/ports/editors/openoffice.org-3 ; make LOCALIZED_LANG=ja % su Password: # make LOCALIZED_LANG=ja install packageFor other languages such that French, German, etc, please change LOCALIZED_LANG=XX; replacing XX with your language in ISO-code, etc) Please consult files/Makefile.localized for supported languages.
% cd /usr/ports/editors/openoffice.org-3 ; make % su Password: # make package
% cd /usr/ports/editors/openoffice.org-3 ; make ; make sdk
% cd /usr/ports/editors/openoffice.org-3 ; make ; make solver
% cd /usr/ports/editors/openoffice.org-3 % su Password: # make package package-rename solver sdk deinstall clean
# cd /usr/ports/editors/openoffice.org-3 ; make ALL_LOCALIZED_LANGS=yes # make TWEAK_L10N=yes LOCALIZED_LANG=ja pre-everything # make LOCALIZED_LANG=ja WITH_CCACHE=yes package package-rename deinstall # make TWEAK_L10N=yes LOCALIZED_LANG=ar pre-everything # make LOCALIZED_LANG=ar WITH_CCACHE=yes package package-rename deinstall # make TWEAK_L10N=yes LOCALIZED_LANG=ca pre-everything # make LOCALIZED_LANG=ca WITH_CCACHE=yes package package-rename deinstall ...
% cd /usr/ports/editors/openoffice.org-3 % su Password: # make package package-rename
# make WITH_CCACHE=yes
% cd /usr/ports/editors/openoffice.org-3/files % perl generate.pl > ../go.csh % su Password: # cd .. ; csh go.csh
Knobs
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_DEBUG
% cd /usr/ports/editors/openoffice.org-3 % make -DWITHOUT_GNOMEVFS
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_SYSTEM_ICU
% cd /usr/ports/editors/openoffice.org-3 % make -DWITHOUT_CUPS
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_KDE
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_GPC
% cd /usr/ports/editors/openoffice.org-3 % make -DWITH_EVOLUTION2
% cd /usr/ports/editors/openoffice.org-3 % make LOCALIZED_LANG=alllangs
% cd /usr/ports/editors/openoffice.org-3 % make LOCALIZED_LANG=xx
while xx can be one of the following:
af ar as-IN be-BY bg br bn bn-BD bn-IN bs ca cs cy da de dz el en-GB en-US en-ZA eo es et eu fa fi fr ga gl gu-IN he hi-IN hr hu it ja ka km kn ko ku lo lt lv mk ms ml-IN mr-IN ne nb nl nn nr ns oc or-IN pa-IN pl pt pt-BR ru rw sk sl sh sr ss st sv sw sw-TZ te-IN ti-ER ta-IN th tn tr ts tg ur-IN uk uz ve vi xh zh-CN zh-TW zu
Current setting: en-US
# cd /usr/ports/editors/openoffice.org-3 # cd files ; perl generate.pl >& ../go.csh
# rm -rf /usr/local /var/db/pkg /var/db/ports
# cd /usr/ports/editors/openoffice.org-3 # make -DBATCH depends
# cd /usr/ports/editors/openoffice.org-3 # setenv BATCH yes ; csh go.csh
checkouts DEV300_m5 source.cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout -r DEV300_m5 OpenOffice3
checkouts cws_srx645_mozooo.cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs checkout -r cws_srx645_mozooo
% dmake patch % dmake create_patch
pavel@pavel:~/.ooo/ooo_SRC680_m96_src> cwsquery -m SRC680 -c macosx06 modules cwsquery -- version: 1.5 cwsquery: Master workspace 'SRC680', child workspace 'macosx06': cwsquery: Modules: jvmfwk scp2Two modules are in macosx06cd scp2; cvs diff -r CWS_SRC680_MACOSX06_ANCHOR -r cws_src680_macosx06See the diff.
cws-extract of ooo-build is very nice, a lot easier to obtain the diff explained above.
cws-commit-patch make it easier for us to commit patches to ooo cvs. You must have your issue numbers handy!