Open
Description
I believe this is the root cause of #1481 , but the issue also impacts build times. Filed as a separate issue to track reduction of duplicate dependencies in addition to the build flake.
The following command:
RUSTDOCFLAGS="-Dwarnings" cargo doc --workspace
Returns the following output:
warning: output filename collision.
The lib target `nexus-client` in package `nexus-client v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#c458fddc)` has the same output filename as the lib target `nexus-client` in package `nexus-client v0.1.0 (/home/smklein/repos/oxide/omicron/nexus-client)`.
Colliding filename is: /home/smklein/repos/oxide/omicron/target/doc/nexus_client/index.html
The targets should have unique names.
This is a known bug where multiple crates with the same name use
the same path; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The lib target `omicron-common` in package `omicron-common v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#c458fddc)` has the same output filename as the lib target `omicron-common` in package `omicron-common v0.1.0 (/home/smklein/repos/oxide/omicron/common)`.
Colliding filename is: /home/smklein/repos/oxide/omicron/target/doc/omicron_common/index.html
The targets should have unique names.
This is a known bug where multiple crates with the same name use
the same path; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The lib target `oximeter` in package `oximeter v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#c458fddc)` has the same output filename as the lib target `oximeter` in package `oximeter v0.1.0 (/home/smklein/repos/oxide/omicron/oximeter/oximeter)`.
Colliding filename is: /home/smklein/repos/oxide/omicron/target/doc/oximeter/index.html
The targets should have unique names.
This is a known bug where multiple crates with the same name use
the same path; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The bin target `oximeter` in package `oximeter-collector v0.1.0 (/home/smklein/repos/oxide/omicron/oximeter/collector)` has the same output filename as the lib target `oximeter` in package `oximeter v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#c458fddc)`.
Colliding filename is: /home/smklein/repos/oxide/omicron/target/doc/oximeter/index.html
The targets should have unique names.
This is a known bug where multiple crates with the same name use
the same path; see <https://github.com/rust-lang/cargo/issues/6313>.
warning: output filename collision.
The lib target `oximeter-producer` in package `oximeter-producer v0.1.0 (https://github.com/oxidecomputer/omicron?branch=main#c458fddc)` has the same output filename as the lib target `oximeter-producer` in package `oximeter-producer v0.1.0 (/home/smklein/repos/oxide/omicron/oximeter/producer)`.
Colliding filename is: /home/smklein/repos/oxide/omicron/target/doc/oximeter_producer/index.html
The targets should have unique names.
This is a known bug where multiple crates with the same name use
the same path; see <https://github.com/rust-lang/cargo/issues/6313>.
Inspecting the Cargo.lock
file, we can see this is a valid complaint, tracing back to oximeter-producer
.
In Cargo.lock
, there are two [[package]]
s for oximeter-producer
:
- One is pulled directly from the current tree, as
0.1.0
. This is used by most of Omicron. - Another is pinned to the
main
branch. This appears to be used bycrucible
, which itself is used bypropolis-client
and the simulated sled agent.
The other mentioned targets also have duplicate [[package]]
s, but I think that's because they're dependencies of oximeter-producer
.
Metadata
Metadata
Assignees
Labels
No labels