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

作者: gowrite (gowrite)   2021-08-12 06:46:37
各位好,
最近在學習用一些套件跟軟體,在安裝階段想到了一個問題,
就是我們在用這些別人寫好的軟體的時候,
常常需要安裝一些 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 安裝的結果,
是一樣的嗎?
這邊請高手、前輩們解惑一下,
謝謝
作者: s8321414 (冥王歐西里斯)   2021-08-12 07:38:00
要看 .deb 的內容就用 dpkg -L 啊,至於 make 安裝的結果會不會一樣,你要去看 .deb 原始碼包的 control file,裡面有編譯這個 .deb 的時候用的選項
作者: Bencrie   2021-08-12 09:28:00
看 rules 吧
作者: leolarrel (真.粽子無雙)   2021-08-13 11:19:00
沒標準作法,只有UNIX慣例.通常.h檔會放在/usr/include,library的.so檔跟.a檔會放在/usr/lib.但也不一定一定要在這幾個地方.你該學的是linux 世界中,lib是怎麼被找到與連結的.你可以學以下關鍵字:"ld.so.conf" "ldd""ldconfig", "linux 動態連結"
作者: Qbsuran (Qbsuran)   2021-08-19 04:46:00
幫樓上補還有rpath
作者: ketrobo (貓蘿蔔)   2021-08-31 09:27:00
其實是各家有各家的標準 XD主要需要學會用pkg-config,然後再配合find/ldd等工具找檔案

Links booklink

Contact Us: admin [ a t ] ucptt.com