私は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
。