Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-10362

Firefox and Thunderbird compilations broken with Rust v1.63.0 and packed_simd_2 v0.3.7

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Critical (Application) Critical (Application)
    • None
    • None
    • Hide
      emerge -av1 =dev-lang/rust-bin-1.63.0
      emerge -av1 =www-client/firefox-103.0.1
      emerge -av1 =mail-client/thunderbird-102.0.3
      Show
      emerge -av1 =dev-lang/rust-bin-1.63.0 emerge -av1 =www-client/firefox-103.0.1 emerge -av1 =mail-client/thunderbird-102.0.3
    • Compilations of the latest and previous versions of Firefox and Thunderbird fail with Rust v1.63. Users who have upgraded to dev-lang/rust-bin-1.63 will not be able to compile www-client/firefox and mail-client/thunderbird
    • Upstream bug in a the packed_simd_2 v0.3.7 Rust Crate that is vendored into the source code of Firefox and Thunderbird as third-party libraries

      During the testing of bootstrapping Rust with mrustc we encountered an actual upstream bug that causes compilation errors of Firefox and Thunderbird with Rust v1.63.0:

      www-client/firefox-103.0.1 compilation error:

       6:26.12 error: expected one of `!` or `::`, found keyword `mod`
       6:26.12    --> /var/tmp/portage/www-client/firefox-103.0.1/work/firefox-103.0.1/third_party/rust/packed_simd_2/src/lib.rs:347:7
       6:26.12     |
       6:26.12 347 | crate mod llvm {
       6:26.12     |       ^^^

      mail-client/thunderbird-102.0.3 compilation error:

       1:17.11 error: expected one of `!` or `::`, found keyword `mod`
       1:17.11    --> /var/tmp/portage/mail-client/thunderbird-102.0.3/work/thunderbird-102.0.3/third_party/rust/packed_simd_2/src/lib.rs:347:7
       1:17.11     |
       1:17.11 347 | crate mod llvm {
       1:17.11     |       ^^^
       1:17.12 error: could not compile `packed_simd_2` due to previous error

      Upon further research this is a confirmed and fixed bug in the upstream packed_simd_2 Rust Crate: https://github.com/rust-lang/packed_simd/issues/343

      Unfortunately both versions of firefox and thunderbird contain the buggy version (v0.3.7) of this crate vendored into their source code.

      Newer upstream versions are confirmed to have updated to the the patch version of packed_simd_2: https://hg.mozilla.org/mozilla-central/file/tip/third_party/rust/packed_simd_2/Cargo.toml#l3

      Because of the seriousness of this compilation error and its easy reproducibility, we should considering removing all previous versions of firefox/thunderbird that are effected by this as the rustc version will continue to be updated.

      Also, any PRs to firefox and thunderbird that fix this issue can be attached to this bug.

      Many thanks to borisp for helping reproduce this error.

            borisp borisp
            siris siris
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: