However, the official RPM of AOO-4.1.10 creates an scalc which, on Fedora 34, crashes every time within two minutes of starting. So I built it. Here is the configure which succeeded.
Preliminaries: in /etc/profile, $HOME/.bashrc, and /root/.bashrc I placed the following environment variables:
Code: Select all
export JAVA_HOME=/j
export CCACHE_DIR=/hdd5/ccache
export ANT_HOME=/home/spot/ant
export ANT=/home/spot/ant/bin/ant
export PATH=/root/.local/bin:/root/bin:/home/spot/.local/bin:/home/spot/bin:/usr/lib64/qt-3.3/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/spot/ant/bin:/j/bin
export LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib:/usr/lib64:/usr/lib:/j/lib
/j is a symlink to /etc/alternatives/java_sdk (note: earlier i erroneously wrote here it was a symlink to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-0.fc34.x86_64).
/etc/alternatives/java_sdk is a symlink to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-0.fc34.x86_64
***update: later, when openjdk is updated via dnfdragora or dnf update, the /etc/alternatives/java_sdk symlink will be reset by the installation script to point to the current version of java-11-openjdk. And so, /j will likewise point to java-11-openjdk. As far as I can tell, this does not affect the operation of, and does not diminish the stability of, AOO scalc (but, see next paragraph). I do not know if keeping the two symlinks pointing to the current version of java-11-openjdk works okay nowadays for the compile. It did not work okay for me, when I tried compiling AOO with the two symlinks pointing to the then-current version of java-11-openjdk.***
***update to the above update: I have discovered that AOO Calc starts noticeably faster if I make /j be a symlink to /usr/lib/jvm/java-1.8.0-openjdk, which is itself a symlink to the latest current version of the version 1.8.0 openjdk. It seems AOO Calc likes openjdk-1.8.0 better than it likes openjdk-11.***
The reason i created /j is that, specifying JAVA_HOME by its full pathname caused the build to fail with a preprocessor error message. I guess the command line was too long for the preprocessor to digest.
/hdd5 is a fast rotational hard disk, /hdd5/Downloads is symlinked into $HOME (/home/spot) which resides on the ssd on which my main filesystem resides. I didn't want to thrash the ssd, so I built AOO on a fast hdd.
My main user is named spot because I graduated from Windows to Linux via Puppy Linux.
ant is Apache Ant 1.10.10, /home/spot/ant is a symlink to /home/spot/apache-ant-1.10.10
For --enable-crashdump=yes to succeed I had to dnf install libnsl before the build.
It was necessary to use system nss, coinmp, and cairo.
The build failed if I used --with-dmake-url and --with-epm-url. I had to download the source code from these two url's (dmake-4.12 and epm-5.0.0) and build these first, in /usr/local/bin.
I was unable to get it to build an RPM. I leave that task to more experienced hands.
The secret sauce:
Code: Select all
cd $HOME/Downloads
mkdir aoo-4.1.10_source
cd aoo-4.1.10_source
git clone https://github.com/apache/openoffice.git
cd openoffice/main
wget -O external/unowinreg/unowinreg.dll https://tools.openoffice.org/unowinreg_prebuild/680/unowinreg.dll
ccache -C
autoconf
./configure \
--with-build-version="$(date +"%Y-%m-%d %H:%M") - `uname -sm`" \
--enable-verbose \
--prefix=/opt/openoffice-4.1.10 \
--with-system-stdlibs \
--enable-crashdump=yes \
--enable-category-b \
--enable-wiki-publisher \
--enable-bundled-dictionaries \
--enable-opengl \
--enable-dbus \
--enable-gstreamer \
--with-jdk-home=/j \
--without-junit \
--without-stlport \
--with-ant-home=$HOME/ant \
--with-dmake-path=/usr/local/bin/dmake \
--with-epm=/usr/local/bin/epm \
--with-package-format=installed \
--with-lang='ast bg ca ca-XR ca-XV cs da de el en-GB en-US es eu fi fr gd gl he hi hu it ja km ko lt nb nl pl pt pt-BR ru sk sl sr sv ta th tr vi zh-CN zh-TW' \
--with-system-nss \
--with-system-coinmp \
--with-vendor=philthegitter \
--with-x \
--enable-cairo \
--with-system-cairo \
| tee config.out || exit 1