Skip to content

Dual path/crates.io dependencies cause failures. #16

Closed
@retep998

Description

@retep998

Some crates, in particular winapi, will have dependencies in the form of foo = { version = "0.2", path = "some/where" }. Building such crates from a git checkout is fine since all the path dependencies are in the repo and can be found. Building such crates from crates.io is also fine, since even though the other crates aren't in the archive, cargo will only use the versions from crates.io to build it and not the path dependencies. This pattern is useful as it allows rapid iteration of interdependent crates, while still allowing it to be uploaded to crates.io.

When built on crates.fyi, it is working with the archive downloaded from crates.io, and then attempts to build it with path dependencies, resulting in build failures as it looks for the other crates in locations that don't exist.

Some examples:
winapi and its failure.

Could not find `Cargo.toml` in `/home/updater/winapi-0.2.7/lib/runtimeobject`

kernel32 and its failure

INFO - LocalDependencyIoError(Error { repr: Os { code: 13, message: "Permission denied" } })

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions