Building LibreOffice on Raspberry Pi 4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux