-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
cargo test
incompatible with latest rustup
#3394
Comments
Pin to an older version of rustup temporarily cc #3394
cc @brson Also I believe this was caused by rust-lang/rustup#812 |
I think this may be the same as rust-lang/rustup/issues/765 The solution may be different on linux, but on windows I would expect the build tool (in this case cargo) to copy any required dynamic libraries into the output folder. This would solve the problem for not just |
@Diggsey But the output folder for |
@retep998 You also can't |
@Diggsey Imagine someone who cargo installs several different binaries, but over a period of time, and uses nightly. Each binary would depend on different nightly dlls. |
Regardless of what rustup does, I don't think we can ever really support that without significant work to store DLLs in a namespaced subdirectory - or until rust gets a stable ABI |
@alexcrichton Wouldn't this be a rustup bug? If I PS: Apologies in advance if that doesn't make any sense; I'm on quite the adventure here trying to set up a Hello World project in VS Code |
@masaeedu As @alexcrichton said, for However, for |
I think, it would be easier to update tools with the nightly together (or just use some time-frozen nightly version with bunch of tools) than to do nothing. Because currently all compiler-dependent tools are just broken. |
Add the rust lib dir (containing std-<hash>.dll) to the path on windows I'm not sure if this is the right thing or not, but this fixes some of rust-lang/cargo#3394. My apologies if it undoes earlier path related fixes. The dylib tests in the cargo testsuite work. `cargo test` of a dylib crate works. It does nothing for the `cargo install` case. It adds sysroot/bin to the path on Windows which fixes finding libstd. A side effect of this is that rustc.exe is directly in the path although it is after CARGO_HOME/bin so the shim should be found first. The behavior of prepend_path in case of a corrupt path is changed - it used to clobber the existing path with the new path, and now it will leave leave the existing path unchanged. It leaves LD_LIBRARY_PATH set on Windows also as I believe it is used by MinGW.
I believe this was fixed in #3996. Closing! |
The 0.7 release of rustup changed how
PATH
is managed, and nowcargo test
wherecargo
is actually a rustup proxy will no longer work for this project itself.I believe this has to do with something related to binaries eventually being compiled against the standard library dynamically and then the standard library dll can't be found at runtime. This'll need to be fixed with
PATH
munging somewhere although I'm not quite sure where.The text was updated successfully, but these errors were encountered: