when i add crate like rand or syn in Cargo.toml and then do "cargo build",
the error "failed to build archive: no such file or directory"
"aborting due to previous error "
"could not compile rand_core" shows up.
I try to reinstall rust and cargo but this problem still exist.
Does anyone know how to fix this?
I need to self-learn rust within 1 week for my intern
Do you have a C compiler installed? Rust uses cc
for linking on most platforms, or MSVC link
on Windows. Can you post the complete output of cargo build --verbose
?
1 Like
This is my complete output:
PS C:\Users\user\%USERPROFILE%\projects\hello_cargo> cargo build --verbose
Compiling rand_core v0.4.2
Compiling winapi v0.3.8
Running `rustc --crate-name rand_core C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\rand_core-0.4.2\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg "feature=\"alloc\"" --cfg "feature=\"std\"" -C metadata=662fd75f1d8e1549 -C extra-filename=-662fd75f1d8e1549 --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --cap-lints allow`
Running `C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\build\winapi-59d810bd36b176f3\build-script-build`
Running `rustc --crate-name winapi C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C
debuginfo=2 --cfg "feature=\"minwindef\"" --cfg "feature=\"ntsecapi\"" --cfg "feature=\"profileapi\"" --cfg "feature=\"winnt\"" -C metadata=a019b11ca557d4d1 -C extra-filename=-a019b11ca557d4d1 --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --cap-lints allow --cfg "feature=\"ktmtypes\"" --cfg "feature=\"lsalookup\"" --cfg "feature=\"subauth\"" --cfg "feature=\"wincred\"" --cfg "feature=\"vcruntime\"" --cfg "feature=\"ntdef\"" --cfg "feature=\"basetsd\"" --cfg "feature=\"windef\""
--cfg "feature=\"sspi\"" --cfg "feature=\"guiddef\"" --cfg "feature=\"excpt\"" -l dylib=advapi32 -l dylib=credui -l dylib=kernel32 -l dylib=secur32`
Compiling rand_core v0.3.1
Running `rustc --crate-name rand_core C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\rand_core-0.3.1\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg "feature=\"alloc\"" --cfg "feature=\"std\"" -C metadata=578a540634d5088a -C extra-filename=-578a540634d5088a --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --extern rand_core=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps\librand_core-662fd75f1d8e1549.rmeta --cap-lints allow`
error: failed to build archive: no such file or directory
error: aborting due to previous error
error: could not compile `rand_core`.
Caused by:
process didn't exit successfully: `rustc --crate-name rand_core C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\rand_core-0.3.1\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg "feature=\"alloc\"" --cfg "feature=\"std\"" -C metadata=578a540634d5088a -C extra-filename=-578a540634d5088a --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --extern rand_core=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps\librand_core-662fd75f1d8e1549.rmeta --cap-lints allow` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
error: failed to build archive: no such file or directory
error: aborting due to previous error
error: could not compile `rand_core`.
Caused by:
process didn't exit successfully: `rustc --crate-name rand_core C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\rand_core-0.4.2\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg "feature=\"alloc\"" --cfg "feature=\"std\"" -C metadata=662fd75f1d8e1549 -C extra-filename=-662fd75f1d8e1549 --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --cap-lints allow` (exit code: 1)
warning: build failed, waiting for other jobs to finish...
error: failed to build archive: no such file or directory
error: aborting due to previous error
error: could not compile `winapi`.
Caused by:
process didn't exit successfully: `rustc --crate-name winapi C:\Users\user\.cargo\registry\src\github.com-1ecc6299db9ec823\winapi-0.3.8\src\lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C debuginfo=2 --cfg "feature=\"minwindef\"" --cfg "feature=\"ntsecapi\"" --cfg "feature=\"profileapi\"" --cfg "feature=\"winnt\"" -C metadata=a019b11ca557d4d1 -C extra-filename=-a019b11ca557d4d1 --out-dir C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps -L dependency=C:\Users\user\%USERPROFILE%\projects\hello_cargo\target\debug\deps --cap-lints allow --cfg "feature=\"ktmtypes\"" --cfg "feature=\"lsalookup\"" --cfg "feature=\"subauth\"" --cfg "feature=\"wincred\"" --cfg "feature=\"vcruntime\"" --cfg "feature=\"ntdef\"" --cfg "feature=\"basetsd\"" --cfg "feature=\"windef\"" --cfg "feature=\"sspi\"" --cfg "feature=\"guiddef\"" --cfg "feature=\"excpt\"" -l dylib=advapi32 -l dylib=credui -l dylib=kernel32 -l dylib=secur32` (exit code: 1)
Note, you can wrap your code-like text in triple backticks to display it verbatim, like:
```
your text here
```
I'm afraid I don't use Windows much anymore, so I won't be much help to you. Do you at least have the MSVC tools installed? The book describes that requirement like so:
On Windows, go to Install Rust - Rust Programming Language and follow the instructions for installing Rust. At some point in the installation, you’ll receive a message explaining that you’ll also need the C++ build tools for Visual Studio 2013 or later. The easiest way to acquire the build tools is to install Build Tools for Visual Studio 2019 . The tools are in the Other Tools and Frameworks section.
2 Likes
I try to use eclipse rather than vs code do the same thing and there is no error
system
Closed
September 2, 2020, 12:53pm
6
This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.