Error while building for iOS: Use of undeclared identifier 'TranslateId'

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 and make.
    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 ran make 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 into leaflet/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!

you may try asking on dev side : Getting Involved in LibreOffice Development - The Document Foundation Wiki