[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
> Actually that had failed on the 32-bit ARMv7. ARMv8 had failed because of connection and I didn't care to trigger it again so I assumed it would fail for the same reason. I think it's very difficult to locate the issue, given this log. The issue looks like two Rust toolchains of different versions were used to compile Chromium/v8. I suggest building the Chromium using `ninja -v` to see the command line used to invoke the compiler. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
Just for completeness: > I still do not understand why manually removing the -Z flags failed. Actually that had failed on the 32-bit ARMv7. ARMv8 had failed because of connection and I didn't care to trigger it again so I assumed it would fail for the same reason. Turns out that is not the case: ARMv7 just failed again[1] (after 88 h building...) with the same error with the RUSTC_BOOTSTRAP strategy, while ARMv8, as said in last comment, succeeds. So that is a separate issue. [1] https://launchpadlibrarian.net/710577930/buildlog_snap_ubuntu_jammy_armhf_chromium- rust_BUILDING.txt.gz -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
The build with the manual removal of the -Z flags failed[1] with multiple undefined references such as ---> obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib(libcxx_lib.cxx.fbfe687f763ab24e-cgu.0.rcgu.o):cxx.fbfe687f763ab24e-cgu.0:function < as core::fmt::Debug>::fmt: error: undefined reference to '::fmt' obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib(libcxx_lib.cxx.fbfe687f763ab24e-cgu.0.rcgu.o):cxx.fbfe687f763ab24e-cgu.0:function < as core::fmt::Display>::fmt: error: undefined reference to '::fmt' obj/third_party/rust/cxx/v1/lib/libcxx_lib.rlib(libcxx_lib.cxx.fbfe687f763ab24e-cgu.0.rcgu.o):cxx.fbfe687f763ab24e-cgu.0:function < as core::fmt::LowerHex>::fmt: error: undefined reference to 'core::fmt::numfmt' <--- The builds with RUSTC_BOOTSTRAP=1 were silently reset after hours of progress (an old mysterious bug) and therefore we'll find out their actual result only on Monday. [1] https://launchpadlibrarian.net/710066046/buildlog_snap_ubuntu_jammy_armhf_chromium- rust_BUILDING.txt.gz -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
Re: [Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
> Normally, it is not. Rust compilers, even in the stable channel, include > the complete logic of a nightly compiler. The logic is disabled by > default during the runtime when the compiler is in the stable channel. It is reassuring to learn that. > I hope my explanation makes sense. It does, and thanks again. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
> I.e., is there an increased risk in using RUSTC_BOOTSTRAP in a non-nightly compiler (the proposed case for us downstream) in comparison to using the unstable options in a nightly compiler (what upstream does)? Normally, it is not. Rust compilers, even in the stable channel, include the complete logic of a nightly compiler. The logic is disabled by default during the runtime when the compiler is in the stable channel. The reason why the variable is called "RUSTC_BOOTSTRAP" is that this functionality is usually required when building the next version of the Rust compiler. In this case, the Rust compiler needs to understand newer syntax unavailable in the previous version. I hope my explanation makes sense. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
Re: [Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
Thanks for that suggestion, looks like just what I needed. I looked it up and found this: > The build system sets RUSTC_BOOTSTRAP=1. This special variable means to break the stability guarantees of rust: Allow using #![feature(...)] with a compiler that's not nightly. This should never be used except when bootstrapping the compiler. Is it reasonable to dismiss that foreboding statament on the premise that we, as downstream, are not the ones introducing the usage of those unstable features and as such trust upstream to know what they are doing? I.e., is there an increased risk in using RUSTC_BOOTSTRAP in a non-nightly compiler (the proposed case for us downstream) in comparison to using the unstable options in a nightly compiler (what upstream does)? -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
> Since I encountered the same error before and was able to overcome it by manually removing all instances of that unstable option from the build files, I'll try that strategy again. It is in general a boring process because those options are generated during build and I couldn't track down their originators; they are not to be found literally in the source files, and so I removed them iteratively with a ad-hoc (and rather embarrassing :p) You have an easy option here: There is a somewhat undocumented rustc feature where you could trick it into thinking it is a nightly compiler: just add `RUSTC_BOOTSTRAP: 1` under the `environment` section in your YAML file. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
The build failed[1] with error: the option `Z` is only accepted on the nightly compiler In the ideal world that nightly Rustc would be used, but given the nature of deb packaging I suppose it is not doable. Since I encountered the same error before and was able to overcome it by manually removing all instances of that unstable option from the build files, I'll try that strategy again. It is in general a boring process because those options are generated during build and I couldn't track down their originators; they are not to be found literally in the source files, and so I removed them iteratively with a ad-hoc (and rather embarrassing :p) ---> find / -type f -name '*.ninja' -exec grep -Fq Zmacro-backtrace {} \; \ -exec sed -i \ 's/-Zdep-info-omit-d-target//g;s/-Zmacro-backtrace//g;s/-Zremap-cwd-prefix=.//g' \ {} + <--- Additionally, near the end of the build (the one with the old Rustc to be clear) things there were multiple undefined references[2], but I reckon that was because the libprofiler_builtins.rlib was not available and not because of the removal of the -Z options. I'm submitting another build with the -Z options again removed and will report back with the results once available. [1] https://launchpadlibrarian.net/709883798/buildlog_snap_ubuntu_jammy_arm64_chromium-rust_BUILDING.txt.gz [2] https://launchpadlibrarian.net/708915623/buildlog_snap_ubuntu_jammy_armhf_chromium-rust_BUILDING.txt.gz -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 2049493] Re: Newer rustc version needed in jammy to build chromium updates
Thanks for the backport. I launched builds in https://launchpad.net/~nteodosio/+snap/chromium-rust and will report back with the results once available. ** Also affects: chromium-browser (Ubuntu) Importance: Undecided Status: New ** Changed in: chromium-browser (Ubuntu) Assignee: (unassigned) => Nathan Teodosio (nteodosio) -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to chromium-browser in Ubuntu. https://bugs.launchpad.net/bugs/2049493 Title: Newer rustc version needed in jammy to build chromium updates Status in chromium-browser package in Ubuntu: New Status in rustc package in Ubuntu: New Bug description: The next chromium version is making rustc mandatory to build. Chromium is a snap built from core22 so using the jammy packages, the build is currently failing because it needs libprofiler_builtins.rlib which isn't available. Upstream provides toolchain builds that can be used but only for amd64 so currently the snap is failing to build on arm https://launchpad.net/~chromium-team/+snap/chromium-snap-from-source-beta The version upstream is using is 1.75 but it's possible that a lower version would be enough for now if libprofiler was enabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/2049493/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp