Linux
創建指向不在預期目錄中的標頭檔的軟連結
3.12.6-300.fc20.x86_64 #1 SMP Mon Dec 23 16:44:31 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux Fedora 20
我正在嘗試從原始碼安裝星號,當我執行 ./configure 腳本時,出現以下錯誤:
checking for uuid_generate_random in -luuid... yes checking uuid/uuid.h usability... no checking uuid/uuid.h presence... no checking for uuid/uuid.h... no checking for uuid_generate_random in -le2fs-uuid... no checking for uuid_generate_random... no configure: error: *** uuid support not found (this typically means the uuid development package is missing)
但是,我已經安裝了 64 位版本的 uuid 和 uuid-devel
Name : uuid-devel Arch : x86_64 Version : 1.6.2 Release : 21.fc20 Size : 21 k Repo : installed Name : uuid Arch : x86_64 Version : 1.6.2 Release : 21.fc20 Size : 116 k Repo : installed
所以我猜它正在尋找標頭檔並且找不到它。檢查 uuid/uuid.h 可用性…否
當我執行時,
locate uuid.h
我可以在以下目錄中看到 uuid.h:/usr/include/uuid.h /usr/include/linux/uuid.h /usr/src/kernels/3.12.6-300.fc20.x86_64+debug/include/linux/uuid.h /usr/src/kernels/3.12.6-300.fc20.x86_64+debug/include/uapi/linux/uuid.h /usr/src/kernels/3.12.7-300.fc20.x86_64+debug/include/linux/uuid.h /usr/src/kernels/3.12.7-300.fc20.x86_64+debug/include/uapi/linux/uuid.h
因此,在嘗試解決問題時,我創建了一個新目錄 /usr/include/uuid 並在其中創建了指向該 uuid.h 的軟連結。
lrwxrwxrwx. 1 root root 9 Jan 15 11:49 uuid.h -> ../uuid.h
它現在有效:
checking uuid/uuid.h usability... yes checking uuid/uuid.h presence... yes checking for uuid/uuid.h... yes
我的問題是,是否可以通過創建軟連結來處理像這樣安裝的標頭檔?我總是擔心如果我破壞了某些東西,因為您需要 root 訪問權限來創建軟連結。許多還有另一種解決方案,無需創建這些軟連結。
我通常不鼓勵您以這種方式操縱庫的包含。僅僅因為文件名稱相似並不意味著它是您正在尋找的正確標頭檔。
順便說一句,您正在尋找這個包。
$ sudo yum install libuuid libuuid-devl
我發現這一點的方式就是我始終建議在任何 Fedora/CentOS/RHEL 系統上查找失去文件的方式。
例子
$ sudo yum whatprovides "*/uuid/uuid.h" ... libuuid-devel-2.23.1-3.fc19.i686 : Universally unique ID library Repo : fedora Matched from: Filename : /usr/include/uuid/uuid.h libuuid-devel-2.23.1-3.fc19.x86_64 : Universally unique ID library Repo : fedora Matched from: Filename : /usr/include/uuid/uuid.h libuuid-devel-2.23.2-4.fc19.i686 : Universally unique ID library Repo : updates Matched from: Filename : /usr/include/uuid/uuid.h ..