[MacPorts] #68364: rust 1.7.3.0

MacPorts noreply at macports.org
Tue Dec 26 22:36:14 UTC 2023


#68364: rust 1.7.3.0
--------------------------+---------------------------------
  Reporter:  Schamschula  |      Owner:  MarcusCalhoun-Lopez
      Type:  update       |     Status:  assigned
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:  2.8.1
Resolution:               |   Keywords:
      Port:  rust         |
--------------------------+---------------------------------

Comment (by halostatue):

 Replying to [comment:1 Schamschula]:
 > Update: as of this time (December 23, 2023) upstream {{{rust}}} is @
 1.74.1.
 >
 > Unfortunately, updating the {{{rust}}} Portfile is not trivial, and
 there are no notes of how to go about it.
 >
 > It is unclear how to use {{{cargo2port}}} to update the {{{cargo}}}
 packages. I manually merged those from {{{rustc-1.74.1-src}}} and
 {{{rustc-1.74.1-src/src/bootstrap/}}}, and got it to start building.
 However, it errored out.

 I think that MacPorts is going to need to have more responsive Rust
 updates moving forward *or* is going to need to adjust the Rust build
 steps to permit Rust's {{{x.py}}} to download the previous version (not
 always possible with older macOS versions, I would guess). In [[https
 ://rustc-dev-guide.rust-
 lang.org/building/bootstrapping.html#overview|Bootstrapping the compiler
 (overview)]], the example shows bootstrapping the 1.64 compiler with 1.63.
 The current prebuilt version is 1.70.0, which suggests that we would need
 to build 1.71, 1.72 and 1.73 to get to 1.74, but we could then use 1.74.1
 to build 1.75 when that is released. With our lack of Sonoma arm64
 builders, this means that even when Rust 1.74.1 is available, unless we
 have the arm versions at hand, people on Sonoma arm64 would be unable to
 upgrade to the latest Rust.

 At the moment, I have been following more or less the same steps and as
 far as I can tell, the build is failing because my bootstrap version is
 too old. (It’s *very* difficult to find in the errors in the MacPorts log,
 but I think that the first error is starting at 16855 of the attached
 build log and the main errors are at 16909–16961; these were found by
 copying the commands run and running them manually as the {{{macports}}}
 user.)

 {{{
 :info:build error: cannot find a built-in macro with name `ConstParamTy`
 :info:build     --> library/core/src/marker.rs:1003:1
 :info:build      |
 :info:build 1003 | / pub macro ConstParamTy($item:item) {
 :info:build 1004 | |     /* compiler built-in */
 :info:build 1005 | | }
 :info:build      | |_^
 …
 :info:build warning: `extern crate` is not idiomatic in the new edition
 :info:build    -->
 /opt/local/libexec/rust/src/.home/.cargo/macports/compiler_builtins-0.1.101/build.rs:157:5
 :info:build     |
 :info:build 157 |     extern crate cc;
 :info:build     |     ^^^^^^^^^^^^^^^^
 :info:build     |
 :info:build     = note: `-D unused-extern-crates` implied by `-D warnings`
 :info:build help: convert it to a `use`
 :info:build     |
 :info:build 157 |     use cc;
 :info:build     |     ~~~
 :info:build warning: `compiler_builtins` (build script) generated 1
 warning
 :info:build      Running `/opt/local/var/macports/build
 /_Users_austin_dev_oss_forks_macports-
 ports_lang_rust/rust/work/rustc-1.74.1-src/build/aarch64-apple-
 darwin/stage0-std/release/build/compiler_builtins-da2e238ee913b174/build-
 script-build`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build   --> library/core/src/mem/transmutability.rs:10:1
 :info:build    |
 :info:build 10 | #[rustc_deny_explicit_impl(implement_via_object = false)]
 :info:build    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: must be of the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build   --> library/core/src/ptr/metadata.rs:53:1
 :info:build    |
 :info:build 53 | #[rustc_deny_explicit_impl(implement_via_object = false)]
 :info:build    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 help: must be of the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build    --> library/core/src/marker.rs:143:1
 :info:build     |
 :info:build 143 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build    --> library/core/src/marker.rs:176:1
 :info:build     |
 :info:build 176 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build    --> library/core/src/marker.rs:857:1
 :info:build     |
 :info:build 857 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build    --> library/core/src/marker.rs:962:1
 :info:build     |
 :info:build 962 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build    --> library/core/src/marker.rs:973:1
 :info:build     |
 :info:build 973 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build     |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 :info:build error: malformed `rustc_deny_explicit_impl` attribute input
 :info:build     --> library/core/src/marker.rs:1032:1
 :info:build      |
 :info:build 1032 | #[rustc_deny_explicit_impl(implement_via_object =
 false)]
 :info:build      |
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: must be of
 the form: `#[rustc_deny_explicit_impl]`
 }}}

 I’m attaching my build log *and* my current branch changes to see if this
 will help someone else unblock this.

-- 
Ticket URL: <https://trac.macports.org/ticket/68364#comment:2>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list