Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rustc: 1.66.1 -> 1.67.0 #212811

Merged
merged 1 commit into from
Jan 31, 2023
Merged

rustc: 1.66.1 -> 1.67.0 #212811

merged 1 commit into from
Jan 31, 2023

Conversation

figsoda
Copy link
Member

@figsoda figsoda commented Jan 26, 2023

Description of changes

https://blog.rust-lang.org/2023/01/26/Rust-1.67.0.html

built fd and dump_syms on {aarch64,x86_64}-linux
built fd on master on {aarch64,x86_64}-darwin without the llvm update

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@zowoq
Copy link
Contributor

zowoq commented Jan 27, 2023

@winterqt
Copy link
Member

Got logs, @zowoq? (How long does it take to bail out, anyways?)

@figsoda
Copy link
Member Author

figsoda commented Jan 27, 2023

   Compiling dump_syms v2.1.1 (/build/source)
error: failed to parse bitcode for LTO module: Explicit gep type does not match pointee type of pointer operand (Producer: 'LLVM14.0.6' Reader: 'LLVM 14.0.6')

error: could not compile `reqwest` due to previous error
warning: build failed, waiting for other jobs to finish...
error: could not compile `dump_syms` due to previous error

it doesn't take long to bail out if you build dump_syms directly

@figsoda
Copy link
Member Author

figsoda commented Jan 27, 2023

I can reproduce this outside the nix sandbox with cargo build --release in the dump_syms repo

@figsoda
Copy link
Member Author

figsoda commented Jan 27, 2023

some searching lead me to rust-lang/rust#100474
this might require llvm 15, I can't reproduce this error with binarily distributed rust 1.67.0 with fenix that has llvm 15

not sure if there is a good way to fix this other than waiting for #191132, I have not seen a dump_syms issue which suggests that this update could break other packages as well

@zowoq
Copy link
Contributor

zowoq commented Jan 27, 2023

cc @mweinelt dump_syms / firefox

@lblasc
Copy link
Contributor

lblasc commented Jan 27, 2023

I can confirm working firefox build on 1.67+llvm15(#191132).

@winterqt
Copy link
Member

We should probably switch to LLVM 15 (which is what upstream uses) now anyways, so let's just do it.

@mweinelt
Copy link
Member

Please make sure both go into the same staging cycle, as otherwise firefox will rightfully block the channel.

@winterqt
Copy link
Member

Please make sure both go into the same staging cycle, as otherwise firefox will rightfully block the channel.

(I don't see why we shouldn't just put them both in this PR, unless you think otherwise?)

@mweinelt
Copy link
Member

I have no strong feelings about how to handle the two, feel free to do what works best for you.

@figsoda
Copy link
Member Author

figsoda commented Jan 27, 2023

I don't see why we shouldn't just put them both in this PR

Did you mean including the llvm update in this PR, or switching to llvm 15 in this PR once it has been added. I am thinking that we do the latter instead

@winterqt
Copy link
Member

winterqt commented Jan 27, 2023

I don't see why we shouldn't just put them both in this PR

Did you mean including the llvm update in this PR, or switching to llvm 15 in this PR once it has been added. I am thinking that we do the latter instead

Sorry, was under the impression that we landed the bump already. What I meant was the latter, yup.

I think we should mark this as draft until the bump has landed in staging, which should be very soon judging by the recent discussions over there (#194634).

@winterqt winterqt marked this pull request as draft January 27, 2023 15:29
@figsoda figsoda marked this pull request as ready for review January 28, 2023 15:22
@figsoda
Copy link
Member Author

figsoda commented Jan 28, 2023

rebased and updated to llvm 15, can confirm this fixes dump_syms on x86_64-linux

@zowoq zowoq merged commit 63f869f into NixOS:staging Jan 31, 2023
@trofi
Copy link
Contributor

trofi commented Jan 31, 2023

Bisect says 63f869f rustc: 1.66.1 -> 1.67.0 broke mesa build as:

mesa> FAILED: src/gallium/frontends/rusticl/libmesa_rust_gen.rlib
mesa> rustc -C linker=gcc --color=always --crate-type rlib --edition=2021 -g -C relocation-model=pic --crate-name mesa_rust_gen --emit dep-info=src/gallium/frontends/rusticl/mesa_rust_gen.d --emit link -Aclippy::all -Anon_snake_case -Anon_camel_case_types -Anon_upper_case_globals -o src/gallium/frontends/rusticl/libmesa_rust_gen.rlib -l static=gallium -l static=libclc -l dylib=drm -L/nix/store/b1wsi4cgaa8z2shavljy6b2xgv0ry4f8-llvm-15.0.7-lib/lib -l dylib=LLVM-15 -l dylib=m -l dylib=z -l dylib=clang-cpp -L/nix/store/b1wsi4cgaa8z2shavljy6b2xgv0ry4f8-llvm-15.0.7-lib/lib -l dylib=LLVM-15 -l dylib=LLVMSPIRVLib -l dylib=z -l dylib=m -L src/gallium/auxiliary -L src/compiler/clc -L /nix/store/fi50i5ylcyivbhhycsaz3jrxlr7zqm5v-libdrm-2.4.114/lib -L /nix/store/h5cq2sbsmhlpl2apg4dw4hvksrg8adwx-zlib-1.2.13/lib -L /nix/store/ingcnm6snwasnis754fxdfnmfa0fl80p-clang-15.0.7-lib/lib -L /nix/store/94hkq499qbg2zhks6y9zd8z3m32h3smb-SPIRV-LLVM-Translator-15.0.0/lib src/gallium/frontends/rusticl/rusticl_mesa_bindings.rs
mesa> error: failed to add native library src/gallium/auxiliary/libgallium.a: Unsupported archive identifier
mesa> error: aborting due to previous error

@trofi
Copy link
Contributor

trofi commented Jan 31, 2023

rust-lang/rust#107334 looks related (rust-1.67 regressed in thin static archive handling, fixed in master).

@figsoda
Copy link
Member Author

figsoda commented Jan 31, 2023

#213873

@adamcstephens adamcstephens mentioned this pull request Feb 4, 2023
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants