Igalia / wolvic

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.

Home Page:https://wolvic.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Build] Instructions to build Wolvic before v1.5 fail

yuripourre opened this issue · comments

Configuration

Wolvic version: master
Wolvic build ID: -

Hardware: Dell Inspiron 15 7000 / Fedora 38

Steps to Reproduce

  1. Follow the Developer workflow
  2. Clone the gecko-dev repo
  3. Checkout the FIREFOX_103_0_2_RELEASE branch
  4. Try to run ./mach bootstrap

Current Behavior

Build fails with the following error:

Could not find artifacts for a toolchain build named `toolchain-linux64-node`

Expected Behavior

Command would succeed

Possible Solution

Context

Error Logs and Stack Traces

ERROR!!!!!! Could not find artifacts for a toolchain build named `toolchain-linux64-node`. Local commits, dirty/stale files, and other changes in your checkout may cause this error. Make sure you are on a fresh, current checkout of mozilla-central. Beware that commands like `mach bootstrap` and `mach artifact` are unlikely to work on any versions of the code besides recent revisions of mozilla-central.

Unfortunately that is not a Wolvic problem but a Gecko build issue. You should ask in Mozilla forums.

That branch was building fine when we were using it. The problem with Mozilla build system is that it is not resilient, meaning that the bootstrap that you did one month ago is different to the bootstrap you could do today even in the same code base. That's likely why you are not able to build it right now.

Even the error message is pretty explicit about that

Beware that commands like mach bootstrap and mach artifact are unlikely to work on any versions of the code besides recent revisions of mozilla-central.

Unfortunately that is not a Wolvic problem but a Gecko build issue. You should ask in Mozilla forums.

That branch was building fine when we were using it. The problem with Mozilla build system is that it is not resilient, meaning that the bootstrap that you did one month ago is different to the bootstrap you could do today even in the same code base. That's likely why you are not able to build it right now.

Even the error message is pretty explicit about that

Beware that commands like mach bootstrap and mach artifact are unlikely to work on any versions of the code besides recent revisions of mozilla-central.

Thanks for the reply, any chance you can share what the mach bootstrap looks like for you back then?

Is there any chance you can share when the mach bootstrap was working so I can try to fork it at the right date?

Thank you in advance

Unfortunately that is not a Wolvic problem but a Gecko build issue. You should ask in Mozilla forums.
That branch was building fine when we were using it. The problem with Mozilla build system is that it is not resilient, meaning that the bootstrap that you did one month ago is different to the bootstrap you could do today even in the same code base. That's likely why you are not able to build it right now.
Even the error message is pretty explicit about that

Beware that commands like mach bootstrap and mach artifact are unlikely to work on any versions of the code besides recent revisions of mozilla-central.

Thanks for the reply, any chance you can share what the mach bootstrap looks like for you back then?

Unfortunately I don't keep a copy of all the software downloaded by bootstrap from old versions

Is there any chance you can share when the mach bootstrap was working so I can try to fork it at the right date?

Again not possible, the problem is that bootstrap downloads many repos and unfortunately the versions of the software and the dependencies it download are not fixed but depend on the specific date you execute that command.

Out of curiosity is there any special reason why you want to use an old version? Newers are much more stable and with more features, and we're about to release 1.6.1.

Unfortunately I don't keep a copy of all the software downloaded by bootstrap from old versions

Yeah, I know is unlikely but worth asking.

Out of curiosity is there any special reason why you want to use an old version? Newers are much more stable and with more features, and we're about to release 1.6.1.

No particular reason, I just need a version that works. I could produce the new wolvic APK but I am having trouble in building the gecko-dev library. I tried to build it but it fails, so I tried the old one, and it fails too.

The reason I want to use wolvic is because I want to publish the WebXR games I've made in the past at the Oculus Store. I was thinking about using wolvic for as a wrapper for the games. Since it's much easier to modify than Chromium and the build takes waaay less time. I tried Electron and Tauri too but none of them are perfect solutions.

Thanks for the help, I will try to build the newer version then. If I have some time this weekend I will try to create a docker image with another OS.

Unfortunately I don't keep a copy of all the software downloaded by bootstrap from old versions

Yeah, I know is unlikely but worth asking.

Out of curiosity is there any special reason why you want to use an old version? Newers are much more stable and with more features, and we're about to release 1.6.1.

No particular reason, I just need a version that works. I could produce the new wolvic APK but I am having trouble in building the gecko-dev library. I tried to build it but it fails, so I tried the old one, and it fails too.

Note that we haven't used gecko-dev repo for a while, check the docs. We now use the official tar.gz from mozilla releases and apply some patches on top.

The reason I want to use wolvic is because I want to publish the WebXR games I've made in the past at the Oculus Store. I was thinking about using wolvic for as a wrapper for the games. Since it's much easier to modify than Chromium and the build takes waaay less time. I tried Electron and Tauri too but none of them are perfect solutions.

Ah that's cool, you'd likely benefit from the work we want to do to allow wolvic to be started via an intent with no UI and directly into a webxr experience.