-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Tools are not available on cross compiled platforms since #61861 #62558
Comments
This comment has been minimized.
This comment has been minimized.
Why does Clippy depend on rustfmt? We only have it in our Travis tests, and even then a test-fail shouldn't cause an unshipped tool |
Modified issue description, it depends on |
only way i got it to build cross tools was from example in original post copying librustc_macros-97bf1e9c420f9886.so over librustc_macros-2f4546e1163449fb.so |
ping. Any progress here? This issue blocks tier2 users from upgrading past rustc nightly 1.36.0. |
I can't tell where the logs for Clippy on cross platforms are so I don't know how to fix this. Rust has a ton of builders :/ |
@Manishearth logs for last successful merge: https://dev.azure.com/rust-lang/e71b0ddf-dd27-435a-873c-e30f86eea377/_apis/build/builds/4613/logs/937?&api-version=5.0-preview It still fails with the same error. |
Hmm that seems like the rust build system being brittle. I've seen that kind of error before, it's usually solved by deleting something in the build dir. |
That isn't an issue about stale build directories or anything like that. Something is misconfigured to cause the rustc-macros crate to get built twice. The rustc_macros crate should not be getting compiled into the stage1-tools directory, but something is pulling it in. I haven't investigated to see what, though. (it'd be good as well btw to not assume default-flakiness and instead assume that because it is a consistent regression that there's something which needs to be investigated) |
I think |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Where should someone start looking to try to fix this, x.py? |
Effectively all users were already affected as of latest stable. |
To lift this restriction we must record the crate disambiguator of both the target and host proc macro crates when linking to it. We currently only record it for the target, so rustc can't find the right one for the host if there's multiple crates with the same name. |
For those looking for a workaround, @mati865 fixed it for |
Pkgsrc changes: * Adapt to the move of the implementation of random numbers. * Remove patch which is no longer relevant (Signals.inc) * Cross-build currently fails due to the still unresolved rust-lang/rust#62558, so bootstrap kits for 1.38.0 have to be built natively, and will follow shortly. * Bump bootstrap requirements to 1.37.0 except for armv7-unknown-netbsd-eabihf which I've neither managed to cross-build nor build natively. Upstream changes: Version 1.38.0 (2019-09-26) ========================== Language -------- - [The `#[global_allocator]` attribute can now be used in submodules.][62735] - [The `#[deprecated]` attribute can now be used on macros.][62042] Compiler -------- - [Added pipelined compilation support to `rustc`.][62766] This will improve compilation times in some cases. For further information please refer to the [_"Evaluating pipelined rustc compilation"_][pipeline-internals] thread. - [Added tier 3\* support for the `aarch64-uwp-windows-msvc`, `i686-uwp-windows-gnu`, `i686-uwp-windows-msvc`, `x86_64-uwp-windows-gnu`, and `x86_64-uwp-windows-msvc` targets.][60260] - [Added tier 3 support for the `armv7-unknown-linux-gnueabi` and `armv7-unknown-linux-musleabi` targets.][63107] - [Added tier 3 support for the `hexagon-unknown-linux-musl` target.][62814] - [Added tier 3 support for the `riscv32i-unknown-none-elf` target.][62784] \* Refer to Rust's [platform support page][forge-platform-support] for more information on Rust's tiered platform support. Libraries --------- - [`ascii::EscapeDefault` now implements `Clone` and `Display`.][63421] - [Derive macros for prelude traits (e.g. `Clone`, `Debug`, `Hash`) are now available at the same path as the trait.][63056] (e.g. The `Clone` derive macro is available at `std::clone::Clone`). This also makes all built-in macros available in `std`/`core` root. e.g. `std::include_bytes!`. - [`str::Chars` now implements `Debug`.][63000] - [`slice::{concat, connect, join}` now accepts `&[T]` in addition to `&T`.][62528] - [`*const T` and `*mut T` now implement `marker::Unpin`.][62583] - [`Arc<[T]>` and `Rc<[T]>` now implement `FromIterator<T>`.][61953] - [Added euclidean remainder and division operations (`div_euclid`, `rem_euclid`) to all numeric primitives.][61884] Additionally `checked`, `overflowing`, and `wrapping` versions are available for all integer primitives. - [`thread::AccessError` now implements `Clone`, `Copy`, `Eq`, `Error`, and `PartialEq`.][61491] - [`iter::{StepBy, Peekable, Take}` now implement `DoubleEndedIterator`.][61457] Stabilized APIs --------------- - [`<*const T>::cast`] - [`<*mut T>::cast`] - [`Duration::as_secs_f32`] - [`Duration::as_secs_f64`] - [`Duration::div_duration_f32`] - [`Duration::div_duration_f64`] - [`Duration::div_f32`] - [`Duration::div_f64`] - [`Duration::from_secs_f32`] - [`Duration::from_secs_f64`] - [`Duration::mul_f32`] - [`Duration::mul_f64`] - [`any::type_name`] Cargo ----- - [Added pipelined compilation support to `cargo`.][cargo/7143] - [You can now pass the `--features` option multiple times to enable multiple features.][cargo/7084] Misc ---- - [`rustc` will now warn about some incorrect uses of `mem::{uninitialized, zeroed}` that are known to cause undefined behaviour.][63346] Compatibility Notes ------------------- - Unfortunately the [`x86_64-unknown-uefi` platform can not be built][62785] with rustc 1.39.0. - The [`armv7-unknown-linux-gnueabihf` platform is also known to have issues][62896] for certain crates such as libc. [60260]: rust-lang/rust#60260 [61457]: rust-lang/rust#61457 [61491]: rust-lang/rust#61491 [61884]: rust-lang/rust#61884 [61953]: rust-lang/rust#61953 [62042]: rust-lang/rust#62042 [62528]: rust-lang/rust#62528 [62583]: rust-lang/rust#62583 [62735]: rust-lang/rust#62735 [62766]: rust-lang/rust#62766 [62784]: rust-lang/rust#62784 [62785]: rust-lang/rust#62785 [62814]: rust-lang/rust#62814 [62896]: rust-lang/rust#62896 [63000]: rust-lang/rust#63000 [63056]: rust-lang/rust#63056 [63107]: rust-lang/rust#63107 [63346]: rust-lang/rust#63346 [63421]: rust-lang/rust#63421 [cargo/7084]: rust-lang/cargo#7084 [cargo/7143]: rust-lang/cargo#7143 [`<*const T>::cast`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.cast [`<*mut T>::cast`]: https://doc.rust-lang.org/std/primitive.pointer.html#method.cast [`Duration::as_secs_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.as_secs_f32 [`Duration::as_secs_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.as_secs_f64 [`Duration::div_duration_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_duration_f32 [`Duration::div_duration_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_duration_f64 [`Duration::div_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_f32 [`Duration::div_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.div_f64 [`Duration::from_secs_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.from_secs_f32 [`Duration::from_secs_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.from_secs_f64 [`Duration::mul_f32`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.mul_f32 [`Duration::mul_f64`]: https://doc.rust-lang.org/std/time/struct.Duration.html#method.mul_f64 [`any::type_name`]: https://doc.rust-lang.org/std/any/fn.type_name.html [forge-platform-support]: https://forge.rust-lang.org/platform-support.html [pipeline-internals]: https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199
Dual proc macro hash This PR changes current `-Z dual-proc-macro` mechanism from resolving only by name to including the hash of the host crate inside the transistive dependency information to prevent name conflicts. Fix partially #62558
#65698 has been merged, now there is only rust-lang/rust-clippy#4714 and a follow-up submodule update PR (#66207) and we can close this. |
This comment has been minimized.
This comment has been minimized.
Miri, RLS and Rustfmt is now available: https://rust-lang.github.io/rustup-components-history/armv7-unknown-linux-gnueabihf.html |
This comment has been minimized.
This comment has been minimized.
@msizanoen1 please don't remove the clippy plugin yet. We're waiting to publish rust-lang/blog.rust-lang.org#435 before we remove it. |
Please check the PR description carefully - it does not remove the clippy plugin but avoid building it in rustbuild. |
Oh, for some reason I thought we shipped the clippy plugin package as well, but plugin users don't use rustup. |
Remove clippy plugin This PR removes the clippy plugin, which is already deprecated and is causing the `fmt_macros` not found error in rust-lang/rust#62558: rust-lang/rust#62558 (comment)
Remove clippy plugin This PR removes the clippy plugin, which is already deprecated and is causing the `fmt_macros` not found error in rust-lang/rust#62558: rust-lang/rust#62558 (comment) changelog: remove plugin interface
Remove clippy plugin This PR removes the clippy plugin, which is already deprecated and is causing the `fmt_macros` not found error in rust-lang/rust#62558: rust-lang/rust#62558 (comment) changelog: remove plugin interface
update clippy to fix toolstate Close rust-lang#66150. Close rust-lang#62558 thanks to @msizanoen1 .
Should be fixed by #66207 |
The last tool, clippy is now available: |
Due to rust-lang/rust#62558, the tools: rls, clippy, and rustfmt cannot be built. We also remove src which cuts the resulting size of the dep from about 330MB to 180MB. The build is further broken into two steps: 1. `x.py dist` 2. `x.py install` This change is because `x.py install` now fails due to an issue where bootstrap tries to install rustc-aarch64-linux-android before the installation script is generated.
Moved from rust-lang/rust-clippy#4267
#61861 was merged in #61962, since then Rustfmt fails to build when cross compiling which is the case for almost all non Tier 1 platforms.
Clippy and RLS are failing with similar error.
Error on
aarch64-unknown-linux-gnu
:https://api.travis-ci.com/v3/job/209363492/log.txt
@rustbot modify labels: T-dev-tools A-rustbuild
The text was updated successfully, but these errors were encountered: