看板 LinuxDev 關於我們 聯絡資訊
各位好, 最近在學習用一些套件跟軟體,在安裝階段想到了一個問題, 就是我們在用這些別人寫好的軟體的時候, 常常需要安裝一些 libxxxx-dev 之類的 dev library, 因為這些軟體當初在開發期間也有用到這些程式, 這時候通常就會使用 apt 的方式來安裝這些 library 在 apt 把這些 library 安裝在系統之後, 我想知道這些 library 主要是安裝在哪?並且安裝了什麼東西? 這時候我就有了一些疑問 舉例: 系統告訴我,要編譯 gnupg (gpg) 時,我需要安裝 libassuan library, 所以我找了 apt-get 上面的 libassan-dev 這個 library, 安裝之後, 我發現他在我系統的 /usr/bin/ 裝了 config 檔 /usr/include 裝了 header /usr/lib/x86_64-linux-gnu 裝了 靜態檔、動態檔 /usr/lib/x86_64-linux-pkgconfig 裝了 pkg-config 檔 /usr/share 裡面裝了 m4 檔,文件檔,一些 copyright 文件,及 manual 我想問的是,如果今天沒有 apt-get 幫我們自動安裝這些 library 的話, 我們自己下載 libassuan 回來之後, 要怎麼把什麼東西放在哪個目錄下? 還是說,基本上沒辦法知道, 只能使用 autogen.sh,然後 configure 之後, 就是直接用 make 讓他自己去塞檔案到系統裡面? 我們從 apt-get install 的 libxxx-dev, 跟我們自己下載 tar 檔案,直接 make 安裝的結果, 是一樣的嗎? 這邊請高手、前輩們解惑一下, 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.11.60 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1628721999.A.BFC.html ※ 編輯: gowrite (111.255.11.60 臺灣), 08/12/2021 06:48:09
s8321414: 要看 .deb 的內容就用 dpkg -L 啊,至於 make 安裝的結 08/12 07:38
s8321414: 果會不會一樣,你要去看 .deb 原始碼包的 control file 08/12 07:39
s8321414: ,裡面有編譯這個 .deb 的時候用的選項 08/12 07:40
Bencrie: 看 rules 吧 08/12 09:28
感謝大家的回答, 我想問另外一個問題,就是所謂的 dev library 有所謂標準的作法嗎? 也就是應該有哪些檔案,應該放到哪些目錄? 這些有標準嗎? 或者是 common style or convention 嗎? 謝謝 ※ 編輯: gowrite (111.255.11.60 臺灣), 08/12/2021 14:21:17
leolarrel: 沒標準作法,只有UNIX慣例.通常.h檔會放在/usr/include, 08/13 11:19
leolarrel: library的.so檔跟.a檔會放在/usr/lib.但也不一定一定要 08/13 11:20
leolarrel: 在這幾個地方.你該學的是linux 世界中,lib是怎麼被找到 08/13 11:21
leolarrel: 與連結的.你可以學以下關鍵字:"ld.so.conf" "ldd" 08/13 11:22
leolarrel: "ldconfig", "linux 動態連結" 08/13 11:23
Qbsuran: 幫樓上補還有rpath 08/19 04:46
ketrobo: 其實是各家有各家的標準 XD 08/31 09:27
ketrobo: 主要需要學會用pkg-config,然後再配合find/ldd等工具找 08/31 09:30
ketrobo: 檔案 08/31 09:30