无法找到 Libudev.pc

无法找到 Libudev.pc

我正在构建一个 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-configlibudev-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.

相关内容