Compiling

“配置:錯誤:未滿足包要求(blkid)”

  • December 25, 2021

我正在嘗試從原始碼建構 btrfs-progs,但是當我執行 ./configure 時出現錯誤:

checking for BLKID... no
configure: error: Package requirements (blkid) were not met:

No package 'blkid' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables BLKID_CFLAGS
and BLKID_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

blkid安裝在/sbin所以,大概它的所有庫都在預設位置。

我需要做什麼告訴 pkg-config 在哪里blkid或者我實際上缺少一個包?

僅供參考:我正在執行 Debian 8 (sid/unstable) 和 4.1.0 核心,大約一周前從 github.com/torvalds/linux.git 源建構 (commit:g6aaf0da)。

如果缺少軟體包,您可以使用apt-cache

% apt-cache search blkid
libblkid-dev - block device id library - headers and static libraries
libblkid1 - block device id library

甚至:

% apt-cache search blkid | grep '\-dev'
libblkid-dev - block device id library - headers and static libraries

我們知道我們需要開發庫來編譯一些東西,因此做一個……

apt-get install libblkid-dev

…作為root使用者。

當您從連結到特定庫的原始碼建構二進製文件時,建構過程需要一些與該庫相關的額外(“頭”)文件,這些文件在執行時不需要,因此它們不會與基礎一起安裝庫包(因為其他需要庫本身的發行包已經建構了二進製文件)。

在 Debian 上,額外的文件位於-dev包中。這裡的實際庫是libblkid,所以你需要:

apt-get install libblkid-dev

引用自:https://unix.stackexchange.com/questions/215406