flypig.co.uk

List items

Items from the current list are shown below.

Gecko

4 Oct 2023 : Day 49 #
Unfortunately the build I set off yesterday didn't complete due to an error in some of the changes I made. My code arrangement had forced the BootstrapResult instance I added to be instantiated before being replaced by the return value of the GetBootstrap() method, like this:
  BootstrapResult bootstrapResult;
  bootstrapResult = mozilla::GetBootstrap(xpcomPath.c_str());
It didn't like that, so I had to change it to this;
  BootstrapResult bootstrapResult = mozilla::GetBootstrap(xpcomPath.c_str());
Presumably the constructor wasn't available. Now that I've made this change it builds correctly. But it means I've had to set the build off again. I'm not really able to tackle any more of the QtMozEmbed changes until the build has completed, so I guess I'll just have to drink coffee and watch a Wheel of Time episode instead. I also have to write some text for the App Roundup in the next newsletter. So I have plenty of non-gecko tasks to be getting on with. I should probably do those instead!

The extended build time can be frustrating, but it can also be a good way to force myself to break up my development into chunks. So it's actually quite convenient that I'm forced not to rush the process. It would be different if someone were paying me to do it of course.

[...]

After 7 hours 36 minutes and 10.3 seconds the build completes.
Wrote: /home/flypig/RPMS/SailfishOS-devel-aarch64/xulrunner-qt5-devel-91.9.1-1.aarch64.rpm
Wrote: /home/flypig/RPMS/SailfishOS-devel-aarch64/xulrunner-qt5-misc-91.9.1-1.aarch64.rpm
Wrote: /home/flypig/RPMS/SailfishOS-devel-aarch64/xulrunner-qt5-91.9.1-1.aarch64.rpm
Wrote: /home/flypig/RPMS/SailfishOS-devel-aarch64/xulrunner-qt5-debugsource-91.9.1-1.aarch64.rpm
Wrote: /home/flypig/RPMS/SailfishOS-devel-aarch64/xulrunner-qt5-debuginfo-91.9.1-1.aarch64.rpm
So now it's time to install the built RPMs and try to build QtMozEmbed against them again.

After doing this and running the QtMozEmbed build it still, unfortunately, comes up with an error. The error looks like this (I've reformatted it a bit to try to make things a little clearer):
SailfishOS-devel-aarch64.temp/usr/lib64/qt5/bin/moc -DMESA_EGL_NO_X11_HEADERS \
  -DXPCOM_GLUE=1 -DXPCOM_GLUE_USE_NSPR=1 -DMOZ_GLUE_IN_PROGRAM=1 \
  -DBUILD_GRE_HOME="\"SailfishOS-devel-aarch64.temp/usr/lib64/xulrunner-qt5-91.9.1\"" \
  -DQT_OPENGLEXTENSIONS_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB \
  -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/share/qt5/mkspecs/linux-g++ \
  -I./qtmozembed/src -I./qtmozembed/src/ -I/usr/include/nspr4 \
  -I/usr/include/nspr4 -I/usr/include/pixman-1 -I/usr/include/systemsettings \
  -I/usr/include/qt5/QtDBus -I/usr/include/qt5 -I/usr/include/qt5/QtCore \
  -I/usr/include/profiled -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include \
  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include \
  -I/usr/include/libsailfishkeyprovider -I/usr/include/connman-qt5 \
  -I/usr/include/xulrunner-qt5-91.9.1 -I/usr/include/qt5/QtOpenGLExtensions \
  -I/usr/include/qt5/QtQuick -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtQml \
  -I/usr/include/qt5/QtNetwork \
  -I/opt/cross/aarch64-meego-linux-gnu/include/c++/8.3.0 \
  -I/opt/cross/aarch64-meego-linux-gnu/include/c++/8.3.0/aarch64-meego-linux-gnu \
  -I/opt/cross/aarch64-meego-linux-gnu/include/c++/8.3.0/backward \
  -I/opt/cross/lib/gcc/aarch64-meego-linux-gnu/8.3.0/include \
  -I/usr/local/include \
  -I/opt/cross/lib/gcc/aarch64-meego-linux-gnu/8.3.0/include-fixed \
  -I/opt/cross/aarch64-meego-linux-gnu/include -I/usr/include qmozview_p.h \
  -o ../src/moc/release_static/moc_qmozview_p.cpp
usr/include/xulrunner-qt5-91.9.1/mozilla/MaybeStorageBase.:16: Parse error at "mozilla"
make[1]: *** [Makefile:566: ../src/moc/release_static/moc_qmozview_p.cpp] Error 1
This error is odd, in that there doesn't seem to be a filetype suffix:
usr/include/xulrunner-qt5-91.9.1/mozilla/MaybeStorageBase.:16: Parse error at "mozilla"
The path usr/include/xulrunner-qt5-91.9.1 is also missing the root /. Strange. I'm not sure about this. Unfortunately it's quite late now, so although we're only finally reaching the point where we can try to fix things, this is going to now have to wait until the morning.

Most of the day was spent waiting for the build to finish, which is a little frustrating. It means there wasn't so much progress today. Tomorrow will be Day 50 and even though it's just a quirk of decimal numbers, that still feels like a big deal. Hopefully it'll be possible to make more progress tomorrow.

If you'd like to read more about all this gecko stuff, do take a look at my full Gecko Dev Diary.