Building LibreOffice on Raspberry Pi 4

Hossein Nourikhah hossein at libreoffice.org
Wed Jun 8 17:20:50 UTC 2022


Hello,

I was trying to build LibreOffice master on 32 bit armhf Debian 10 
(Official Raspbian) on Raspberry Pi 4. I could compile and run 
LibreOffice successfully, but some changes were necessary. Here's how:

First, some information about the OS:

$ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

This is my build configuration:

$ cat autogen.input
--with-jdk-home=/usr/lib/jvm/java-11-openjdk-armhf
--enable-dbgutil
--without-doxygen
--disable-pdfium

This was the problem with pdfium, so I disabled it:

[CXX] 
workdir/UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/partition_oom.cpp
{standard input}: Assembler messages:
{standard input}:194: Error: selected processor does not support `yield' 
in ARM mode
make[1]: *** [/home/pi/Projects/core/solenv/gbuild/LinkTarget.mk:404: 
/home/pi/Projects/core/workdir/GenCxxObject/UnpackedTarball/pdfium/third_party/base/allocator/partition_allocator/spin_lock.o] 
Error 1

Then, I had this problem:

cd . && /bin/bash 
/home/pi/Projects/libo/core/workdir/UnpackedTarball/hunspell/missing 
automake-1.15 --gnu
configure.ac:11: error: version mismatch.  This is Automake 1.15.1,
configure.ac:11: but the definition used by this AM_INIT_AUTOMAKE
configure.ac:11: comes from Automake 1.15.  You should recreate
configure.ac:11: aclocal.m4 with aclocal and run automake again.
WARNING: 'automake-1.15' is probably too old.
		 You should only need it if you modified 'Makefile.am' or
		 'configure.ac' or m4 files included by 'configure.ac'.
		 The 'automake' program is part of the GNU Automake package:
		 <http://www.gnu.org/software/automake>
		 It also requires GNU Autoconf, GNU m4 and Perl in order to run:
		 <http://www.gnu.org/software/autoconf>
		 <http://www.gnu.org/software/m4/>
		 <http://www.perl.org/>
make[3]: *** [Makefile:402: Makefile.in] Error 1
make[2]: *** [Makefile:403: Makefile.in] Error 1
make[1]: *** 
[/home/pi/Projects/libo/core/external/hunspell/ExternalProject_hunspell.mk:28: 
/home/pi/Projects/libo/core/workdir/ExternalProject/hunspell/build] 
Error 1

I have added autoreconf to the .mk files, and this fixed the problem. 
Here is my gerrit submission for this fix:

Use autoreconf in some external projects
https://gerrit.libreoffice.org/c/core/+/135285

Other than that, I had to remove 'Executable_regmerge from 
registry/Module_registry.mk, as it was causing problem for the build.

I expect regmerge to get removed soon:

[API CHANGE] Remove deprecated idlc and regmerge from the SDK
https://gerrit.libreoffice.org/c/core/+/122363

The final problem that I have encountered was that some libraries were 
build with a '-lo' suffix, as it was expected:

$ make
...
[UPK] 5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz
/home/pi/Projects/libo/core/external/librevenge/ExternalPackage_librevenge.mk:19: 
*** file 
/home/pi/Projects/libo/core/workdir/UnpackedTarball/librevenge/src/lib/.libs/librevenge-0.0-lo.so.0.0.4 
does not exist in the tarball.  Stop.

I fixed the problem by creating symbolic links (this if for libwpg):

$ ln -s 
/home/pi/Projects/libo/core/workdir/UnpackedTarball/libwpg/src/lib/.libs/libwpg-0.3.so 
/home/pi/Projects/libo/core/workdir/UnpackedTarball/libwpg/src/lib/.libs/libwpg-0.3-lo.so.3.0.3

$ ln -s 
/home/pi/Projects/libo/core/workdir/UnpackedTarball/libwpg/src/lib/.libs/libwpg-0.3.so 
/home/pi/Projects/libo/core/instdir/program/libwpg-0.3-lo.so.3

If I can fix the last problem, I can put the build instructions in the 
appropriate section in:

Build LibreOffice from source code
https://wiki.documentfoundation.org/User:Hossein/Build

I appreciate any help on this.

Regards,
Hossein


More information about the LibreOffice mailing list