Bug 1112817 - Firefox 63 requires rust >= 1.28
Firefox 63 requires rust >= 1.28
Status: RESOLVED FIXED
: 1111741 (view as bug list)
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other
Current
Other Other
: P2 - High : Normal (vote)
: ---
Assigned To: Luke Jones
E-mail List
:
Depends on:
Blocks: 1112852
  Show dependency treegraph
 
Reported: 2018-10-22 20:22 UTC by Wolfgang Rosenauer
Modified: 2018-11-28 11:15 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wolfgang Rosenauer 2018-10-22 20:22:39 UTC
Firefox 63.0 as to be released 2018-10-23 requires rust >= 1.28 to build.
Tumbleweed's current rust version is 1.26.2 only.
Comment 1 Andreas Stieger 2018-10-23 14:37:24 UTC
*** Bug 1111741 has been marked as a duplicate of this bug. ***
Comment 2 Frank Krüger 2018-10-23 19:30:15 UTC
(In reply to Wolfgang Rosenauer from comment #0)
> Firefox 63.0 as to be released 2018-10-23 requires rust >= 1.28 to build.
> Tumbleweed's current rust version is 1.26.2 only.

Does this, in turn, mean that there won't be any Firefox 63 for Leap 15.0 through the mozilla repo?
Comment 3 Wolfgang Rosenauer 2018-10-23 20:17:23 UTC
(In reply to Frank Kruger from comment #2)
> (In reply to Wolfgang Rosenauer from comment #0)
> > Firefox 63.0 as to be released 2018-10-23 requires rust >= 1.28 to build.
> > Tumbleweed's current rust version is 1.26.2 only.
> 
> Does this, in turn, mean that there won't be any Firefox 63 for Leap 15.0
> through the mozilla repo?

Yes, it's currently not possible to build Firefox 63 on openSUSE any openSUSE distribution in OBS.
As soon as rust 1.28 is in devel:languages the mozilla repo will utilize it and I can provide FF63 for older Leap versions.
Comment 4 Luke Jones 2018-11-01 22:54:13 UTC
Apologies for the delay in responding, and for the lack of maintenance on Rust.

I am in the process of getting things back up to date now.
Comment 5 Frank Krüger 2018-11-02 18:29:52 UTC
(In reply to Luke Jones from comment #4)
> Apologies for the delay in responding, and for the lack of maintenance on
> Rust.
> 
> I am in the process of getting things back up to date now.

We are eagerly awaiting rust 1.28, because Firefox 63 (first offered on 23 Oct) contains various important security fixes. Thx.
Comment 6 Luke Jones 2018-11-06 23:31:35 UTC
Unfortunately the build times have increased due to building the extra tools, and on variants without a recent LLVM, the rust included LLVM needs to be built which increases the time taken further.

Build times are 4-12+ hours depending. There's not much we can do, unless it's possible to pin to a particular powerful worker. (it takes approx 4 hours on my own Ryzen 5 hexacore, without LLVM. Most time is spent on the syntax lib).

Progress can be tracked here for devel project - https://build.opensuse.org/project/monitor/devel:languages:rust
Comment 7 Wolfgang Rosenauer 2018-11-08 08:14:11 UTC
Thanks for your efforts.
Now I get unresolvable dependencies when I use the latest results:

conflict for providers of rust-std-static = 1.30.0 needed by rust, (provider rust-std-static conflicts with rust-std), nothing provides rust = 1.24.1 needed by rust-std
Comment 8 Wolfgang Rosenauer 2018-11-08 20:21:32 UTC
ok, removed obsolete rust-std from the Requires but now the Firefox build tells me:
[  143s]  0:09.63 checking for rustc... /usr/bin/rustc
[  143s]  0:09.63 checking for cargo... /usr/bin/cargo
[  143s]  0:09.71 checking rustc version... 1.30.0
[  143s]  0:09.76 checking cargo version... 1.27.0
[  143s]  0:09.77 ERROR: Cargo package manager 1.27.0 is too old.
[  143s]  0:09.77 To compile Rust language sources please install at least
[  143s]  0:09.77 version 1.28.0 of 'cargo' and make sure it is first in your path.

Was rust and cargo in the past switching version in the same pace. So rust 1.26 and cargo 0.27 or something?

In any case the Firefox configure check expects this:

    rustc_min_version = Version('1.28.0')
    cargo_min_version = rustc_min_version

So I expect we need cargo 1.28 at least as well.
Comment 9 Luke Jones 2018-11-08 20:40:34 UTC
> Was rust and cargo in the past switching version in the same pace. So rust 1.26 > and cargo 0.27 or something?
>
> In any case the Firefox configure check expects this:
> 
>     rustc_min_version = Version('1.28.0')
>     cargo_min_version = rustc_min_version
> 
> So I expect we need cargo 1.28 at least as well.

This is correct. The Rust spec now builds all included tools [cargo, rustfmt, rls, clippy, analysis]. Cargo should have the version changed to 1.30.0, so maybe if you set the minimum version to that for cargo it could help?

** Just checked, I think we need to delete existing cargo from all releases to resolve this. I'm unsure what else I can do to help the situation.

Is there something like an: Obsoletes: cargo <= 0.28? Would that work?

It's been tough getting this sorted as it takes 6-12 hours to build Rust on the available hardware.
Comment 10 Luke Jones 2018-11-08 20:52:10 UTC
Have deleted all built binaries for cargo 0.28.0 in the devel project, this seems to have helped.
Comment 11 Frank Krüger 2018-11-08 23:04:20 UTC
(In reply to Luke Jones from comment #9)
> > Was rust and cargo in the past switching version in the same pace. So rust 1.26 > and cargo 0.27 or something?
> >
> > In any case the Firefox configure check expects this:
> > 
> >     rustc_min_version = Version('1.28.0')
> >     cargo_min_version = rustc_min_version
> > 
> > So I expect we need cargo 1.28 at least as well.
> 
> This is correct. The Rust spec now builds all included tools [cargo,
> rustfmt, rls, clippy, analysis]. Cargo should have the version changed to
> 1.30.0, so maybe if you set the minimum version to that for cargo it could
> help?
> 
> ** Just checked, I think we need to delete existing cargo from all releases
> to resolve this. I'm unsure what else I can do to help the situation.
> 
> Is there something like an: Obsoletes: cargo <= 0.28? Would that work?
> 
> It's been tough getting this sorted as it takes 6-12 hours to build Rust on
> the available hardware.

I appreciate your efforts! Do you expect any improvements regarding build time in the future? Thx.
Comment 12 Luke Jones 2018-11-14 08:27:44 UTC
(In reply to Frank Kruger from comment #11)
> (In reply to Luke Jones from comment #9)
> > > Was rust and cargo in the past switching version in the same pace. So rust 1.26 > and cargo 0.27 or something?
> > >
> > > In any case the Firefox configure check expects this:
> > > 
> > >     rustc_min_version = Version('1.28.0')
> > >     cargo_min_version = rustc_min_version
> > > 
> > > So I expect we need cargo 1.28 at least as well.
> > 
> > This is correct. The Rust spec now builds all included tools [cargo,
> > rustfmt, rls, clippy, analysis]. Cargo should have the version changed to
> > 1.30.0, so maybe if you set the minimum version to that for cargo it could
> > help?
> > 
> > ** Just checked, I think we need to delete existing cargo from all releases
> > to resolve this. I'm unsure what else I can do to help the situation.
> > 
> > Is there something like an: Obsoletes: cargo <= 0.28? Would that work?
> > 
> > It's been tough getting this sorted as it takes 6-12 hours to build Rust on
> > the available hardware.
> 
> I appreciate your efforts! Do you expect any improvements regarding build
> time in the future? Thx.

No, not unless it builds on better hardware. More cores doesn't really improve speed that much, above 4 cores gives rapidly diminishing returns.
It's the nature of Rust unfortunately, but it will improve over time from upstream efforts.
Comment 13 Luke Jones 2018-11-14 08:33:36 UTC
(In reply to Wolfgang Rosenauer from comment #0)
> Firefox 63.0 as to be released 2018-10-23 requires rust >= 1.28 to build.
> Tumbleweed's current rust version is 1.26.2 only.

Is it only Tumbleweed that this is required for? Do we need to push updates to Leap and SLE at all?
Comment 14 Marcus Meissner 2018-11-14 09:20:55 UTC
Leap and SLE follow ESR streams currently, but they will need the new rust as soon as we phase over to the next ESR version of Firefox. ..
Comment 15 Luke Jones 2018-11-17 00:50:55 UTC
(In reply to Marcus Meissner from comment #14)
> Leap and SLE follow ESR streams currently, but they will need the new rust
> as soon as we phase over to the next ESR version of Firefox. ..

Do you think it is important that we keep Rust up-to-date in these releases in the mean time? I've not made backports/updates in the proper manner before and may need some guidance.
Comment 16 Frank Krüger 2018-11-18 10:59:26 UTC
(In reply to Wolfgang Rosenauer from comment #3)
> (In reply to Frank Kruger from comment #2)
> > (In reply to Wolfgang Rosenauer from comment #0)
> > > Firefox 63.0 as to be released 2018-10-23 requires rust >= 1.28 to build.
> > > Tumbleweed's current rust version is 1.26.2 only.
> > 
> > Does this, in turn, mean that there won't be any Firefox 63 for Leap 15.0
> > through the mozilla repo?
> 
> Yes, it's currently not possible to build Firefox 63 on openSUSE any
> openSUSE distribution in OBS.
> As soon as rust 1.28 is in devel:languages the mozilla repo will utilize it
> and I can provide FF63 for older Leap versions.
Given current build results for FF 63, is there a chance that it will be published soon in the Mozilla repo for Leap 15 and Tumbleweed? Thx.
Comment 17 Wolfgang Rosenauer 2018-11-28 11:15:41 UTC
All pieces should be in TW now (probably not published yet). Thanks.