[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