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

gmake setup fails due to "unstable features" in pilot #93

Open
rmustacc opened this issue Jun 20, 2023 · 2 comments
Open

gmake setup fails due to "unstable features" in pilot #93

rmustacc opened this issue Jun 20, 2023 · 2 comments

Comments

@rmustacc
Copy link
Contributor

The helios repo does not use a rust-toolchain file to specify a rust version to use. As a result, if folks use features that are in newer rust versions then folks who do not actively use rustup / cargo will be broken. This has happened again in pilot:

Jun 20 15:14:00.102 INFO E| Compiling racktest-driver v0.0.0 (/home/rm/src/apob/projects/pilot/racktest/driver)
Jun 20 15:14:00.942 INFO E| error[E0658]: use of unstable library feature 'map_first_last'
Jun 20 15:14:00.942 INFO E| --> racktest/driver/src/runcmd.rs:68:50
Jun 20 15:14:00.942 INFO E| |
Jun 20 15:14:00.942 INFO E| 68 |         while let Some((_, ent)) = i.rc_inflight.pop_first() {
Jun 20 15:14:00.942 INFO E| |                                                  ^^^^^^^^^
Jun 20 15:14:00.942 INFO E| |
Jun 20 15:14:00.942 INFO E| = note: see issue #62924 <https://github.com/rust-lang/rust/issues/62924> for more information
Jun 20 15:14:01.011 INFO E| For more information about this error, try `rustc --explain E0658`.
Jun 20 15:14:01.058 INFO E| error: could not compile `racktest-driver` due to previous error
Jun 20 15:14:01.058 INFO E| warning: build failed, waiting for other jobs to finish...
Error: exec ["cargo", "build", "--locked", "--release"]: failed ExitStatus(unix_wait_status(25856))
gmake: *** [Makefile:42: setup] Error 1

The problem is that I do not regularly run rustup and therefore I'm on 1.65 without a rust-toolchain or other way of enforcing it. I realize that we have chosen not to use the rust-toolchain as part of an effort around reproducibility in other environments (I think?) or to avoid surprise downloads. But I think we need a better way of knowing that this has happened and to send up a heads up that's not surprise you're broken.

@rmustacc
Copy link
Contributor Author

For context it appears this was added in 1.66.

@jclulow
Copy link
Collaborator

jclulow commented Jun 20, 2023

NB: I have added a rust-version directive to the crate that is failing to build there in https://github.com/oxidecomputer/pilot/commit/d9a75526e81678021fa97aa7f00400eee896e004

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants