compiler-errors - 由于错误而无法构建带有 Rust 的 Cargo MPI:无法为“libffi-sys v0.6.0”运行自定义构建命令
问题描述
我在开始使用 Rust 和 MPI 时遇到问题!我无法让 Cargo 来构建我的项目。这是我得到的错误:
konst@ub0:~/rust_proj/bobo$ cargo build
Compiling libc v0.2.66
Compiling lazy_static v1.4.0
Compiling memchr v2.2.1
Compiling log v0.4.8
Compiling glob v0.2.11
Compiling cfg-if v0.1.10
Compiling regex v0.2.11
Compiling ucd-util v0.1.5
Compiling libloading v0.4.3
Compiling bitflags v1.2.1
Compiling utf8-ranges v1.0.4
Compiling unicode-width v0.1.7
Compiling ansi_term v0.11.0
Compiling bindgen v0.31.3
Compiling strsim v0.8.0
Compiling vec_map v0.8.1
Compiling lazy_static v0.2.11
Compiling quote v0.3.15
Compiling peeking_take_while v0.1.2
Compiling pkg-config v0.3.17
Compiling semver-parser v0.7.0
Compiling make-cmd v0.1.0
Compiling gcc v0.3.55
Compiling custom_derive v0.1.7
Compiling abort_on_panic v1.0.0
Compiling thread_local v0.3.6
Compiling regex-syntax v0.5.6
Compiling textwrap v0.11.0
Compiling clang-sys v0.21.2
Compiling semver v0.9.0
Compiling build-probe-mpi v0.1.1
Compiling conv v0.3.3
Compiling rustc_version v0.2.3
Compiling log v0.3.9
Compiling aho-corasick v0.6.10
Compiling memchr v1.0.2
Compiling atty v0.2.13
Compiling which v1.0.5
Compiling nom v3.2.1
Compiling clap v2.33.0
Compiling mpi v0.5.4
Compiling cexpr v0.2.3
Compiling env_logger v0.4.3
Compiling libffi-sys v0.6.0
Compiling mpi-sys v0.1.2
error: failed to run custom build command for `libffi-sys v0.6.0`
Caused by:
process didn't exit successfully: `/home/konst/rust_proj/bobo/target/debug/build/libffi-sys-4c70f12629a49359/build-script-build` (exit code: 101)
--- stderr
./autogen.sh: 2: exec: autoreconf: not found
thread 'main' panicked at 'Generating configure', /home/konst/.cargo/registry/src/github.com-1ecc6299db9ec823/libffi-sys-0.6.0/build.rs:27:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
warning: build failed, waiting for other jobs to finish...
error: build failed
不考虑目标目录,这是我当前项目目录的样子:
.
├── Cargo.lock
├── Cargo.toml
└── src
└── main.rs
1 directory, 3 files
这是我的Cargo.toml
文件:
[package]
name = "bobo"
version = "0.1.0"
authors = ["konst"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
mpi = "0.5"
这是我的main.rs
文件。我只是想在 Rust 中运行 MPI 的第一个示例。
extern crate mpi;
use mpi::traits::*;
fn main() {
let universe = mpi::initialize().unwrap();
let world = universe.world();
let size = world.size();
let rank = world.rank();
let processor = mpi::environment::processor_name().unwrap();
println!(
"Hello world from processor {}, rank {} out of {} processors\n",
processor, rank, size
);
}
我想在程序中使用 Rust 运行 MPI。看起来我mpi = "0.5"
作为依赖项包含在Cargo.toml
文件中。出于某种原因,问题不在于 mpi 包,而在于libffi-sys v0.6.0
. 我不知道那是什么。谷歌搜索一些关于它的内容没有发现任何有趣的信息。我现在被困在这里。请原谅我。我是 Rust 和 Cargo 的新手,并且通常安装包。当您描述您的答案时,请尽可能详细地说明您的步骤。
解决方案
推荐阅读
- c# - 将 Arduino 的连续串行端口通信转换和更新为 Visual Studios (C#) 中的整数数组
- php - Laravel leftJoin 与关系表中的闭包连接
- node.js - 节点/vscode 的替代调试输出,同时构建基于终端的可视化
- java - 找出 3 个中字典顺序最小的字符串
- mongodb - 如何重构 Mongodb Linq 查询以在 Cosmos Db 中工作?
- python-3.x - python git-submodule 从其他 git-submodule 导入
- c++ - 如何修复已在 C++ 中定义的 -main?
- c++ - 将算术类型转换为 std::array 的最简单方法
在 C++ 中 - javascript - 如何通过 JavaScript/JQuery 查找多维数组中元素的索引
- android - 从recyclerview中手动创建的cardview获取空值