Hello! I am having trouble building LibreOffice for iOS and I am looking for some pointers on what I might be doing wrong.
First, I’ve followed the structions from the README located at online/ios/README at master · LibreOffice/online · GitHub and the instructions from the dev wiki at Development - The Document Foundation Wiki
I am trying to build this on a MacBook Pro M1 Max running Sonoma 14.6.1, Xcode 15.4.
- I set up LODE on my machine and made sure it was added to the $PATH
- I built the core library by running
autogen.sh
andmake
.
In autogen.input I used the following flags:
--enable-werror
--with-distro=LibreOfficeiOS
- I tried running
make check
but that errored out when it got the iOS parts.
Not sure if relevant, but the output was this:
cp: /Volumes/Projects/OpenSource/libreoffice/core/workdir/UnpackedTarball/icu/source/data/in/icudt74l.dat: No such file or directory
make[2]: *** [/Volumes/Projects/OpenSource/libreoffice/core/ios/CustomTarget_iOS_setup.mk:53: /Volumes/Projects/OpenSource/libreoffice/core/workdir/CustomTarget/ios/native-code.h] Error 1
make[2]: *** Deleting file '/Volumes/Projects/OpenSource/libreoffice/core/workdir/CustomTarget/ios/native-code.h'
make[1]: *** [Makefile:125: ios] Error 2
make: *** [Makefile:297: build] Error 2
-
From what I’ve been able to read up,
make check
is an optional step that might fail especially when building for iOS, so I proceeded further and ranmake
which completed successfully. -
I built the POCO library and installed it in $HOME/poco-ios-arm64
-
On a Linux machine I built the loleaflet/dist files
-
I checked out the repo at GitHub - LibreOffice/online: Read-only Mirror - no pull request (use https://gerrit.libreoffice.org instead)
-
I copied the output of
leaflet/dist
from the Linux machine intoleaflet/dist
from the online repo -
I ran
autogen.sh
which completed without error -
I ran configure:
./configure --enable-iosapp --with-app-name="My Own Mobile LibreOffice" --with-lo-builddir=/Volumes/Projects/OpenSource/lode/dev/core/ --with-poco-includes=$HOME/poco-ios-arm64/include --with-poco-libs=$HOME/poco-ios-arm64/lib --with-vendor="Custom LibreOffice vendor"
This, too, completed without error.
- I edited the ios/Mobile.xcodeproj/project.pbxproj file and replaced the paths to …/ios-device to point to the lode/dev/core directory
- Opened ios/Mobile.xcodeproj, configured codesigning and tried to build it, but the build quickly fails with
Use of undeclared identifier 'TranslateId'
This seems to be a struct that’s supposed to be coming from unotools/resmgr.hxx
which is theoretically in the header search path, as per the Xcode project settings.
Does anyone have any idea what’s going on here? Is the build broken or am I doing something wrong?
Thanks!