Building on `stable` results in error
nathanielford opened this issue · comments
When building in a dockerfile on stable
, rustdoc breaks.
The dockerfile, building a basic Rocket 5.0-rc1 app.
FROM ekidd/rust-musl-builder:latest
...
RUN rustup target add x86_64-unknown-linux-musl
...
RUN cargo build --release
The Cargo.toml
contains:
[dependencies]
rocket = "0.5.0-rc.1"
rocket_cors = { git = "https://github.com/lawliet89/rocket_cors.git", branch = "master" }
And the build halts when attempting to build rocket_cors
.
Compiling rocket_cors v0.5.2 (https://github.com/lawliet89/rocket_cors.git?branch=master#a062933c)
error[E0710]: an unknown tool name found in scoped lint: `rustdoc::broken_intra_doc_links`
--> /home/rust/.cargo/git/checkouts/rocket_cors-5d6823f67bcb0532/a062933/src/lib.rs:253:5
|
253 | rustdoc::broken_intra_doc_links
| ^^^^^^^
error: aborting due to previous error
For more information about this error, try `rustc --explain E0710`.
error: could not compile `rocket_cors`
Switching to nightly
in the dockerfile works (as is probably expected) - so this is less an 'issue with things as they stand' as a 'thing that needs to be fixed for Rocket 0.5'. Notably, building outside the dockerfile (on Pop_OS/Ubuntu) works fine on stable. It may be related to this issue.
I‘m not a maintainer of this but here’s my guess.
Its probably due to the rust version of the base image, its 6 months old and runs 1.51.0 while your workstation probably runs a newer version which is needed for this.
TLDR; no bug, just an outdated version of rust being used by the base image. RUN rustup update
might help, didn’t check it
I'm also seeing this:
error: failed to run custom build command for `pear_codegen v0.1.4`
Caused by:
process didn't exit successfully: `/Users/thomas/bend/data-service/target/debug/build/pear_codegen-5da0a702cafd9dee/build-script-build` (exit status: 101)
--- stderr
Error: Pear requires a 'dev' or 'nightly' version of rustc.
Installed version: 1.56.1 (2021-11-01)
Minimum required: 1.31.0-nightly (2018-10-05)
thread 'main' panicked at 'Aborting compilation due to incompatible compiler.', /Users/thomas/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.1.4/build.rs:24:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
Updating to the master
branch build (rocket_cors = { git = "https://github.com/lawliet89/rocket_cors", branch = "master" }
) resolves this but I'm seeing several other errors trying to implement the example with the stable Rocket release candidate
Now just seeing:
38 | .attach(cors)
| ^^^^ the trait `Fairing` is not implemented for `Result<Cors, rocket_cors::Error>`
with:
rocket::build()
.register("/", catchers![internal_error])
.mount("/", routes![index])
.mount("/v0", routes![info, org_count, org_list, org_create])
.attach(cors)
@thomasmost mind telling me which rocket version you are using?
Are you setting up cors something along the lines of this?
let cors = rocket_cors::CorsOptions::default().to_cors().unwrap()