site  contact  subhomenews

Fun and games compiling LibreOffice

April 07, 2019 — BarryK

Posting some notes here, in case they are of help to anyone else. It was just a couple of years ago that I succeeded in compiling LibreOffice -- prior to that, tried a few times, gave up.

Then there was OpenEmbedded, a cross-compile environment, succeeded there, as reported here:

...not without some difficulty. The version of LO in OE is 5.0.x, rather old. So, in EasyOS I have been compiling LO in a running Easy, more recent versions.

There is something very peculiar with all of the LO versions, compiling of icon-themes is broken, though other distributions do not seem to have the problem. My tentative conclusion is that Easy/Quirky/Puppy is has a Busybox applet that LO uses, but the output of the applet is not quite as expected. The same situation in OE -- it makes use of many utilities in the host system.

I recently compiled LO, the latest stable release, in EasyOS 2.0pre (Thud), and here are some notes about the hoops that I had to jump through...


# tar -xf libreoffice- --no-overwrite-dir
# cd libreoffice-

Fix for boost >= 1.69, if using system boost (which I am not, as compile failed):

# sed -i 's/loaded;/bool{loaded};/' sfx2/source/appl/shutdownicon.cxx

# mkdir external/tarballs

...copy libreoffice-translation tarball here.

# export LO_PREFIX=/usr
# sed -e "/gzip -f/d" -e "s|.1.gz|.1|g" -i bin/distro-install-desktop-integration
# sed -e "/distro-install-file-lists/d" -i
# PTNit1='s%with_theme="[^"]*%with_theme="tango%'
# sed -i -e "$PTNit1" configure

deleted all folders in 'icon-themes' except 'tango' and 'colibre'.

# mkdir icon-themes/export

# ./configure --disable-firebird-sdbc --without-fonts --without-krb5 --build=x86_64-oe-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/libexec --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --without-doxygen --enable-release-build --with-parallelism=4 --without-java --disable-coinmp --enable-python=system --with-tls=nss --without-galleries --disable-gstreamer-1-0 --disable-avahi --enable-gtk --disable-gtk3 --disable-odk --disable-postgresql-sdbc --with-system-libs --without-system-clucene --without-system-xmlsec --without-system-libepubgen --without-system-libqxp --without-system-libzmf --without-system-libstaroffice --without-system-cppunit --without-system-mdds --without-system-odbc --without-system-orcus --without-system-lpsolve --without-system-gpgmepp --with-system-libodfgen --with-system-libwps --with-system-libcdr --with-system-libmwaw --with-system-libetonyek --with-system-libfreehand --with-system-libebook --with-system-libabw --without-system-libnumbertext --with-system-poppler --without-system-boost --with-lang=ALL --without-system-redland --enable-release-build=yes --disable-bundle-mariadb

Note, --with-system-boost compile fails.

edit Makefile, "check-if-root" function, change "exit 1;" to "exit 0;"

# make build-nocheck


# touch workdir/CustomTarget/postprocess/images/export_links.txt.tmp
# make build-nocheck
# touch workdir/CustomTarget/postprocess/images/tango_links.txt.tmp
# make build-nocheck

...success, 'make build-nocheck' finished.

# make DESTDIR=/mnt/sdc1/downloads2/input527/0-libreoffice/lo distro-pack-install

but, do have 'instdir' which has everything in it, so can do manual install. Note, with earlier versions of LO, the "make distro-pack-install" step did work.

Tags: easy