mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-21 22:34:05 +00:00
When an archive fails to build, print the path
Currently the output on failure is as follows: Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.6 Compiling digest v0.10.7 Compiling sha2 v0.10.8 Compiling xz2 v0.1.7 error: failed to build archive: No such file or directory error: could not compile `bootstrap` (lib) due to 1 previous error Print which file is being constructed to give some hint about what is going on.
This commit is contained in:
parent
5c84886056
commit
e0af3c61cd
@ -101,7 +101,9 @@ impl<'a> ArchiveBuilder for LlvmArchiveBuilder<'a> {
|
||||
fn build(mut self: Box<Self>, output: &Path) -> bool {
|
||||
match self.build_with_llvm(output) {
|
||||
Ok(any_members) => any_members,
|
||||
Err(e) => self.sess.dcx().emit_fatal(ArchiveBuildFailure { error: e }),
|
||||
Err(error) => {
|
||||
self.sess.dcx().emit_fatal(ArchiveBuildFailure { path: output.to_owned(), error })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,7 @@ codegen_ssa_add_native_library = failed to add native library {$library_path}: {
|
||||
|
||||
codegen_ssa_apple_sdk_error_sdk_path = failed to get {$sdk_name} SDK path: {$error}
|
||||
|
||||
codegen_ssa_archive_build_failure =
|
||||
failed to build archive: {$error}
|
||||
codegen_ssa_archive_build_failure = failed to build archive at `{$path}`: {$error}
|
||||
|
||||
codegen_ssa_atomic_compare_exchange = Atomic compare-exchange intrinsic missing failure memory ordering
|
||||
|
||||
@ -198,7 +197,7 @@ codegen_ssa_read_file = failed to read file: {$message}
|
||||
|
||||
codegen_ssa_repair_vs_build_tools = the Visual Studio build tools may need to be repaired using the Visual Studio installer
|
||||
|
||||
codegen_ssa_rlib_archive_build_failure = failed to build archive from rlib: {$error}
|
||||
codegen_ssa_rlib_archive_build_failure = failed to build archive from rlib at `{$path}`: {$error}
|
||||
|
||||
codegen_ssa_rlib_incompatible_dependency_formats = `{$ty1}` and `{$ty2}` do not have equivalent dependency formats (`{$list1}` vs `{$list2}`)
|
||||
|
||||
|
@ -220,7 +220,9 @@ impl<'a> ArchiveBuilder for ArArchiveBuilder<'a> {
|
||||
let sess = self.sess;
|
||||
match self.build_inner(output) {
|
||||
Ok(any_members) => any_members,
|
||||
Err(e) => sess.dcx().emit_fatal(ArchiveBuildFailure { error: e }),
|
||||
Err(error) => {
|
||||
sess.dcx().emit_fatal(ArchiveBuildFailure { path: output.to_owned(), error })
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2911,7 +2911,8 @@ fn add_static_crate(
|
||||
false
|
||||
}),
|
||||
) {
|
||||
sess.dcx().emit_fatal(errors::RlibArchiveBuildFailure { error });
|
||||
sess.dcx()
|
||||
.emit_fatal(errors::RlibArchiveBuildFailure { path: cratepath.clone(), error });
|
||||
}
|
||||
if archive.build(&dst) {
|
||||
link_upstream(&dst);
|
||||
|
@ -497,6 +497,7 @@ pub struct UnableToWriteDebuggerVisualizer {
|
||||
#[derive(Diagnostic)]
|
||||
#[diag(codegen_ssa_rlib_archive_build_failure)]
|
||||
pub struct RlibArchiveBuildFailure {
|
||||
pub path: PathBuf,
|
||||
pub error: Error,
|
||||
}
|
||||
|
||||
@ -554,6 +555,7 @@ pub struct UnsupportedLinkSelfContained;
|
||||
#[diag(codegen_ssa_archive_build_failure)]
|
||||
// Public for rustc_codegen_llvm::back::archive
|
||||
pub struct ArchiveBuildFailure {
|
||||
pub path: PathBuf,
|
||||
pub error: std::io::Error,
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user