rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
99.09k stars 12.79k forks source link

Rust 1.18 regression, crates-io-cli 2.0.1, no such file or directory #41797

Closed brson closed 7 years ago

brson commented 7 years ago

https://github.com/Byron/crates-io-cli-rs

brian@ip-10-145-43-250:~/dev/crates-io-cli-rs⟫ git log -1
commit ff374c57064414aaca7d1335d36ab1cb015a8606
Author: Niko Hellwig <nhellwig@thoughtworks.com>
Date:   Tue Feb 7 17:26:47 2017 +0100

    (imp): "Implemented CTRL-C to exit crates search command"
brian@ip-10-145-43-250:/mnt2/dev⟫ rustc +beta -Vv
rustc 1.18.0-beta.1 (4dce67253 2017-04-25)
binary: rustc
commit-hash: 4dce67253d67785c74c8d270c38d774edd0deed8
commit-date: 2017-04-25
host: x86_64-unknown-linux-gnu
release: 1.18.0-beta.1
LLVM version: 3.9
   Compiling libz-sys v1.0.12
   Compiling mio v0.6.2
   Compiling cmake v0.1.20
   Compiling libgit2-sys v0.6.6
   Compiling tokio-core v0.1.3
   Compiling libssh2-sys v0.2.5
   Compiling curl v0.4.3
   Compiling tokio-curl v0.1.8
   Compiling git2 v0.6.3
   Compiling crates-index-diff v3.0.0
   Compiling crates-io-cli v2.0.0 (file:///mnt2/dev/crates-io-cli-rs)
error: couldn't read "src/bin/krates.rs": No such file or directory (os error 2)

error: couldn't read "src/bin/crates.rs": No such file or directory (os error 2)

error: Could not compile `crates-io-cli`.
Build failed, waiting for other jobs to finish...
error: build failed

cc @Byron @alexcrichton

Maybe related to https://github.com/rust-lang/rust/issues/41794

brson commented 7 years ago

Also affects eclectica-0.0.9 cc @markelog

brson commented 7 years ago

Also igo-0.2.1 cc @yshryk

brson commented 7 years ago

Also isbfc-0.0.1 cc @ids1024

brson commented 7 years ago

Also cargo-update-0.8.0 (https://github.com/rust-lang/rust/issues/41794) cc @nabijaczleweli

brson commented 7 years ago

Also https://github.com/zargony/advent-of-code-2015 cc @zargony

Mark-Simulacrum commented 7 years ago

Rust commit: 910c4816fdee01a1299d11a5e85ebb4aceee6d1a (looks like bug isn't here)

Cargo commit: https://github.com/rust-lang/cargo/commit/c416fb60b11ecfd2a1ba0fb8567c9a92590b5d28, which seems correct. https://github.com/rust-lang/rust/issues/40955 is the stable/nightly issue, https://github.com/rust-lang/rust/pull/41166 is the PR updating cargo submodule to fix this, which probably needs to be backported to beta. I'm uncertain, though.

alexcrichton commented 7 years ago

cc @jmatraszek, sorry to tag you in again, but if you could help take a look at this that'd be great! If not no worries!

jmatraszek commented 7 years ago

Hi @alexcrichton, this definitely looks related to my changes in cargo.

I've investigated crates-io-cli-rs and this crate defines two bins (crates and krates). I suppose they were intended to be aliases and this was possible because of a original "bug" in cargo (falling back to main.rs). I have mixed feelings about this. I would say that cargo should fail here instead of falling back to main.rs, but I suppose we cannot do that because of backwards compatibility. Right?

igo fails because it defines bin targets inside src directly, instead of src/bin. Seems easy and I'll try to fix this today in the evening.

@brson Could you please provide me with the cargo's output for the other crates (especially eclectica)? That would be great.

alexcrichton commented 7 years ago

Ah yeah for now our priority is to stem the breakage, and afterwards we can evaluate warnings cycles/etc to push further towards the desired behavior here.

Thanks for investigating this @jmatraszek!

jmatraszek commented 7 years ago

I think I have fixed this, just need one more day to do some more testing and I should open a pull request tomorrow.

jmatraszek commented 7 years ago

Added a proposed fix.

alexcrichton commented 7 years ago

Ah we should actually leave this open to track the inclusion into beta, I'll close when all the backports are done.

alexcrichton commented 7 years ago

Ok I've updated Cargo's beta, updated our master branch and updated our beta branch, this'll get closed when those start merging.

Thanks again for fixing this @jmatraszek!

alexcrichton commented 7 years ago

Ok, I think everything's landed here