flypig.co.uk

List items

Items from the current list are shown below.

Gecko

28 Sep 2023 : Day 43 #
Two steps forwards, one step back. After applying the 0015 patch yesterday, there's now a new error that's actually preventing the build getting to the linking step. So it feels a little like we've moved backwards rather than forwards.

Here's the error:
217:53.38 xpcom/glue/standalone
218:00.90 ./reserved-js-words.js.stub
218:09.09 ./spidermonkey_checks.stub
218:19.85 TEST-PASS | check_spidermonkey_style.py | ok
218:21.41 TEST-PASS | check_macroassembler_style.py | ok
218:21.89 TEST-PASS | check_js_opcode.py | ok
218:28.46 ./fake_remote_dafsa.bin.stub
218:33.59 ./last_modified.json.stub
218:34.41 Traceback (most recent call last):
218:34.41   File "/home/flypig/Programs/sailfish-sdk/sailfish-sdk/mersdk/targets/
            SailfishOS-devel-aarch64.default/usr/lib64/python3.8/runpy.py",
            line 194, in _run_module_as_main
218:34.43     return _run_code(code, main_globals, None,
218:34.43   File "/home/flypig/Programs/sailfish-sdk/sailfish-sdk/mersdk/targets/
            SailfishOS-devel-aarch64.default/usr/lib64/python3.8/runpy.py",
            line 87, in _run_code
218:34.43     exec(code, run_globals)
218:34.43   File "$PROJECT/gecko-dev/python/mozbuild/mozbuild/action/
            file_generate.py", line 156, in 
218:34.43     sys.exit(log_build_task(main, sys.argv[1:]))
218:34.43   File "$PROJECT/gecko-dev/python/mozbuild/mozbuild/action/util.py",
            line 18, in log_build_task
218:34.43     return f(*args, **kwargs)
218:34.43   File "$PROJECT/gecko-dev/python/mozbuild/mozbuild/action/
            file_generate.py", line 100, in main
218:34.43     ret = module.__dict__[method](
218:34.43   File "$PROJECT/gecko-dev/services/settings/dumps/
            gen_last_modified.py", line 52, in main
218:34.43     assert buildconfig.substs["MOZ_BUILD_APP"] in (
218:34.43 AssertionError
218:34.47 make[3]: *** [backend.mk:709: services/settings/dumps/.deps/last_modified.json.stub] Error 1
This looks different to all the other errors we've had up until now. I don't know what's going on here yet, but I do have an approach: work through the changes in the patch to see whether they might relate to this error. If they do, then focus in on that.

There's nothing obvious in the patch that relates to this error as far as I can tell. The error relates to a last_modified.json.stub file, which looks to be part of the build process. The patch did mess with the build process, and there's an outside chance this error is due to a mismatch between the incremental state of the build and the updated build process.

In the hope that it is just this, I've kicked off a full non-incremental build to see whether that can get past this. Here's what I've done:
cd gecko-dev
git -xdf clean
cd ..
git -xdf clean
sfdk build -d -p --with git_workaround
[...]

The build ran for a loooong time. It didn't error in the same place as before, which is a good sign, but it did error before it got to the linking stage.

Here's the error that was generated:
703:35.60 $PROJECT/gecko-dev/widget/qt/nsAppShell.cpp:8:10: fatal error:
          nsAppShell.h: No such file or directory
703:35.60  #include "nsAppShell.h"
703:35.60           ^~~~~~~~~~~~~~
703:35.60 compilation terminated.
703:35.60 make[4]: *** [$PROJECT/gecko-dev/config/rules.mk:693: nsAppShell.o] Error 1
This is frustrating. Cast your mind back to Day 39 and you may recall I wrote this:
 
It seems the widget/qt/nsAppShell.h file has been completely removed. The other versions are all there and at least the Gtk version hasn't changed since the ESR 78. So I've copied the file back over from ESR 78.

So here's what happened: when I committed all the changes, because the nsAppshell.h file was new to ESR 91 it didn't end up appearing in the diff, and I missed the fact it should have been staged for commit.

Then, when I issued the git -xdf clean it deleted the file. That's what the command is supposed to do, but it's not what I should have done before committing the file.

So the file got deleted and now it's generating the same error as before.

This is so frustrating! I thought this might be the final build, but now I have to go back a step and try again. What's more, because this failed at this point, I don't even know if the previous error has been fixed.

The build is now running again. Again.

It won't be done until morning, so sadly that's it for today. Hopefully I'll have a better day tomorrow.

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

Comments

Uncover Disqus comments