나는 크레이트에 (간접적으로) 의존하는 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
각 변경 사항을 커밋하고 저장소에 푸시한 다음 워크플로가 실행될 때까지 기다려야 하기 때문에 이 문제를 디버깅하는 데 어려움을 겪고 있습니다. 이것은 내 시스템에서 발생하는 오류가 아닙니다.
~에 따르면이 페이지는 우분투의 최신 환경에 관한 것입니다., systemd
설치됨(제공됨 libudev
) 및 ( pkg-config
따라서apt
이 답변관련 질문의 내용은 적용되지 않습니다.)
systemd
다음 을 사용하여 sudo apt-get update
설치를 시도했지만 이미 설치되어 있다고 sudo apt-get install systemd
표시됩니다 . systemd
나는 또한 PKG_CONFIG_PATH
다음과 같이 업데이트를 시도했다이 답변, 하지만 그것도 작동하지 않습니다.
답변1
@steeldriver가 언급했듯이 패키지가 필요한 것으로 나타났습니다 libudev-dev
. 및 를 libudev-dev
사용하여 설치에 성공했습니다 .sudo apt-get update
sudo apt-get install libudev-dev