GSoC weekly report: Solving MABs for LO Android viewer - Ximeng Zu

Ximeng Zu uznomis at gmail.com
Tue Jun 13 16:50:46 UTC 2017


Hello everyone,

Last week I was trying to solve a SIGSEGV in Android Viewer on my new
Android phone. In order to do that, I needed to do a debug build with
Android distro. On my *freshly installed* Ubuntu 16 LTS dual boot system
with win10 on a Surface Pro 3, the build constantly failed on me. Here I
would like to summarize what I encountered just in case it's reproducible.

1) My autogen.input has the following content:
--with-distro=LibreOfficeAndroid
--with-android-sdk=/home/uznomis/Android/Sdk
--enable-debug
--enable-werror
2) In early stage of the build I encountered an error saying I was missing
nss related tarball. I solved it with gb_Side=build make fetch. Thanks a
lot to peeps on dev channel. To quote, "the problem is probably that NSS is
not required on android but is required on the build platform, and "make
fetch" only takes the host (android) platform into account".
3) In middle stage of the build everything works well, but towards the end
the linking stage broke with the following error:
/home/uznomis/libreoffice/workdir/UnpackedTarball/epoxy/src/dispatch_common.c:664:
error: undefined reference to 'glXGetProcAddressARB'
collect2: error: ld returned 1 exit status
I did a lot of googling and found 'glXGetProcAddressARB' is related to
libGL.so shared library and it's mostly implemented and used with MESA. I
looked into the Android ndk platform 15 lib (which the build needs), and
found that there was no libGL.so to use. In this case, Android ndk grabs
the system library /usr/lib/ and creates a symlink in the ndk platform 15
lib. However, the system lib's libGL.so is x86-64 which is not needed by
Android (which is ARM). This breaks the build. This explanatiorin is not
verified but it makes the most sense to me. I also downloaded i-386 version
of MESA but the build still fails.
4) I tried ndk 10, 13, 14, 15 and all failed.
5) I tried inside VMWare and bare-metal and all failed.
6) I tried Surafce pro 3 and ASUS laptop and all failed.
7) I tried with/without --enable-debug and all failed.
8) I followed wiki pages of building with Linux and added all dependencies
listed there.
9) Yesterday I tried building on openSUSE 42.2 in Virtual Box and the build
succeeded.
I suspect that the problem I encountered is reproducible. However it's too
costly for anyone to reproduce. So, I just want to make this record on the
mail list archive just in case any contributor in the future wants to see.
All in all, I think the problem is Ubuntu or me failing to install some
libraries/dependencies.
Now I'm installing openSUSE on my surface pro 3 and build with debug for
android. Cross fingers.

Best,
Ximeng Zu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20170613/ec4e24a2/attachment.html>


More information about the LibreOffice mailing list