[問題] 關於 dev lib 手動安裝的問題

看板LinuxDev作者 (gowrite)時間3年前 (2021/08/12 06:46), 3年前編輯推噓2(2011)
留言13則, 5人參與, 3年前最新討論串1/1
各位好, 最近在學習用一些套件跟軟體,在安裝階段想到了一個問題, 就是我們在用這些別人寫好的軟體的時候, 常常需要安裝一些 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

08/12 07:38, 3年前 , 1F
要看 .deb 的內容就用 dpkg -L 啊,至於 make 安裝的結
08/12 07:38, 1F

08/12 07:39, 3年前 , 2F
果會不會一樣,你要去看 .deb 原始碼包的 control file
08/12 07:39, 2F

08/12 07:40, 3年前 , 3F
,裡面有編譯這個 .deb 的時候用的選項
08/12 07:40, 3F

08/12 09:28, 3年前 , 4F
看 rules 吧
08/12 09:28, 4F
感謝大家的回答, 我想問另外一個問題,就是所謂的 dev library 有所謂標準的作法嗎? 也就是應該有哪些檔案,應該放到哪些目錄? 這些有標準嗎? 或者是 common style or convention 嗎? 謝謝 ※ 編輯: gowrite (111.255.11.60 臺灣), 08/12/2021 14:21:17

08/13 11:19, 3年前 , 5F
沒標準作法,只有UNIX慣例.通常.h檔會放在/usr/include,
08/13 11:19, 5F

08/13 11:20, 3年前 , 6F
library的.so檔跟.a檔會放在/usr/lib.但也不一定一定要
08/13 11:20, 6F

08/13 11:21, 3年前 , 7F
在這幾個地方.你該學的是linux 世界中,lib是怎麼被找到
08/13 11:21, 7F

08/13 11:22, 3年前 , 8F
與連結的.你可以學以下關鍵字:"ld.so.conf" "ldd"
08/13 11:22, 8F

08/13 11:23, 3年前 , 9F
"ldconfig", "linux 動態連結"
08/13 11:23, 9F

08/19 04:46, 3年前 , 10F
幫樓上補還有rpath
08/19 04:46, 10F

08/31 09:27, 3年前 , 11F
其實是各家有各家的標準 XD
08/31 09:27, 11F

08/31 09:30, 3年前 , 12F
主要需要學會用pkg-config,然後再配合find/ldd等工具找
08/31 09:30, 12F

08/31 09:30, 3年前 , 13F
檔案
08/31 09:30, 13F
文章代碼(AID): #1X55DFly (LinuxDev)
文章代碼(AID): #1X55DFly (LinuxDev)