作者gowrite (gowrite)
看板LinuxDev
標題[問題] 關於 dev lib 手動安裝的問題
時間Thu Aug 12 06:46:37 2021
各位好,
最近在學習用一些套件跟軟體,在安裝階段想到了一個問題,
就是我們在用這些別人寫好的軟體的時候,
常常需要安裝一些 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