저는 Rust 프로젝트를 구축하고 있는데 구축하려고 할 때마다 다음과 같은 메시지를 받습니다.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "`\"pkg-config\" \"--libs\" \"--cflags\" \"libudev\"` did not exi
t successfully: exit status: 1\nerror: could not find system library 'libudev' required by the 'libudev-sys' crate\n\n--- stderr\nPackage l
ibudev was not found in the pkg-config search path.\nPerhaps you should add the directory containing `libudev.pc'\nto the PKG_CONFIG_PATH e
nvironment variable\nNo package 'libudev' found\n"', /home/nikola/.cargo/registry/src/github.com-1ecc6299db9ec823/libudev-sys-0.1.4/build.r
s:38:41
오류 메시지는 충분히 명확하지만 문제는 온라인에서 찾을 수 있는 모든 솔루션 중에서 설치 및 재설치를 언급한 솔루션이 10개가 넘었 pkg-config
지만 파일이 libudev-dev
없다는 것입니다.libudev.pc
실행하면 apt search udev
다음 항목이 제공됩니다.
librust-libudev-sys-dev/focal 0.1.4-1 amd64
FFI bindings to libudev - Rust source code
libu2f-udev/focal,focal,now 1.1.10-1 all [installed]
Universal 2nd Factor (U2F) common files
libudev-dev/focal-updates,now 245.4-4ubuntu3.17 amd64 [installed]
libudev development files
libudev1/focal-updates,now 245.4-4ubuntu3.17 amd64 [installed,automatic]
libudev shared library
부족libudev.pc
➜ ~project git:(master) ✗ locate libudev.pc
➜ ~project git:(master) ✗
➜ ~pkgconfig: echo $PKG_CONFIG_PATH
➜ ~pkgconfig:
답변1
이 시도:
echo 'export PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/"' >> $HOME/.bashrc
편집하다:source $HOME/.bashrc
변경 사항을 적용하려면 열려 있는 터미널을 닫았다가 다시 열거나 현재 터미널에서 실행해야 한다는 점을 잊어버렸습니다 .
답변2
pkg-config
기본적으로 Homebrew 패키지 라이브러리에 대해서만 알고 있는 Homebrew를 사용하고 있습니다 .
Ubuntu에서 Ubuntu 제공 패키지(예:)를 사용하여 개발하려는 경우 libudev-dev
실제로 Ubuntu가 제공하는 패키지를 사용해야 합니다 pkg-config
. 즉, Homebrew 버전을 제거한 pkg-config
다음 apt
.