在 GitHub actions ubuntu-latest 环境中的 pkg-config 搜索路径中找不到 libudev

在 GitHub actions ubuntu-latest 环境中的 pkg-config 搜索路径中找不到 libudev

我正在为我正在开发的 Rust 应用程序设置 CI,该应用程序(间接)取决于libudev-sys板条箱。这个 CI 的一部分意味着构建我的箱子,这也意味着构建libudev-sys.

当工作流程运行并进入构建阶段时,货物在尝试构建时失败并显示此错误消息libudev-sys

thread 'main' panicked at /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libudev-sys-0.1.4/build.rs:38:41:
  called `Result::unwrap()` on an `Err` value:
  `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" PKG_CONFIG_ALLOW_SYSTEM_LIBS="1" "pkg-config" "--libs" "--cflags" "libudev"` did not exit successfully: exit status: 1
  error: could not find system library 'libudev' required by the 'libudev-sys' crate
Package libudev was not found in the pkg-config search path.
Perhaps you should add the directory containing `libudev.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libudev' found
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

我正在努力调试这个问题,因为每个更改都需要提交并推送到存储库,然后等待工作流程运行。这不是我自己的系统上遇到的错误。

根据此页面有关 ubuntu 最新环境systemd已安装(提供libudev),以及pkg-config来自apt(因此这个答案相关问题中的内容不适用)。

我尝试使用systemd和进行sudo apt-get update安装sudo apt-get install systemd,但这表明systemd已经安装了。我也尝试PKG_CONFIG_PATH按照以下方式更新这个答案,但这也不起作用。

答案1

正如@steeldriver 所评论的,事实证明该libudev-dev包是必需的。libudev-devsudo apt-get updateand安装sudo apt-get install libudev-dev就成功了。

相关内容