flypig.co.uk

List items

Items from the current list are shown below.

Blog

23 Oct 2023 : Day 68 #
Sometimes things go wrong. Last night I tried to build qtmozembed to avoid the crash that I was looking into related to embedhelper.js. The package refused to build because the SDK couldn't access the package repositories. There are reasons for this which make sense but which I don't want to go in to here.

The solution to my problem requires reinstalling my build SDK targets. This is a lengthy process at the best of times, but made more so by the intricate configuration that gecko needs to build.

So it's frustrating that this is necessary at all, but in some sense it couldn't have come at a better time. Having just been through the entire process from start to finish, I know all of the steps needed. In theory if I go through the same steps again, things will just work. Famous last words.

Things are never quite so simple of course. The first thing I try to do is remove the build target containing all of the cruft and that needs replacing. This should be a really straightforward step.
$ sfdk tools target remove SailfishOS-4.5.0.18-aarch64
IFW Version: 3.2.3, built with Qt 5.15.2.
Build date: Jan  4 2023
Installer Framework SHA1: fa8a71c1
[0] Language: en-GB
[...]
[837] Cannot proceed to the next step, canceling. Possible reason: No changes in component selection
[840] Created question message box "cancelInstallation": "Sailfish SDK Question", "Do you want to quit the maintenance application?"
Failed to uninstall installer-provided packages
Not straightforward today then. After playing around for a bit, attempting to remove the Early Access targets I have installed instead, the updated goes into a frenzy. I asked it to remove something, but now it's downloading something. Fine, I'm sure it knows what it's doing!

[...]

I'm not entirely sure that it did know what it was doing as it seems to have removed the sfdk binary completely. I'm switching to using the SDKMaintenanceTool to try to fix things and if that doesn't work it'll be time for a root-and-branch reinstall.
 
The SDKMaintenanceTool downloading components.

There's a good chance fixing my SDK will be the only thing I get done gecko-wise today. Just the download looks like it'll take at least an hour.
 
The SDKMaintenanceTool showing an error: Execution failed.

Normal service will be resumed shortly.

[...]

It's now the evening and the new SDK has installed. There are some new and interesting changes for me to take on board, such as the fact that snapshots are no longer shown by default in the target list or at the start of each build. That threw me for a bit. But it's just the way the newer SDK works.

On the positive side qtmozembed — the thing that I really want right now — built without me having to perform any forced install shenanigans. The build engine pulled in the packages it required (including the xulrunner-qt5-devel package that contains the gecko libraries) directly from my local repository. Nice!

Sadly that's all I can get done for today. Sometimes a couple of hours just isn't enough. The good news is that I have more time to spend on development over the next couple of days. I'm looking forward after two weeks to finally having some time to really think about this.

For all the other entries in my developer diary, check out the Gecko-dev Diary page.

Comments

Uncover Disqus comments