作者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://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1628721999.A.BFC.html
※ 编辑: gowrite (111.255.11.60 台湾), 08/12/2021 06:48:09
1F:→ s8321414: 要看 .deb 的内容就用 dpkg -L 啊,至於 make 安装的结 08/12 07:38
2F:→ s8321414: 果会不会一样,你要去看 .deb 原始码包的 control file 08/12 07:39
3F:→ s8321414: ,里面有编译这个 .deb 的时候用的选项 08/12 07:40
4F:推 Bencrie: 看 rules 吧 08/12 09:28
感谢大家的回答,
我想问另外一个问题,就是所谓的 dev library 有所谓标准的作法吗?
也就是应该有哪些档案,应该放到哪些目录?
这些有标准吗?
或者是 common style or convention 吗?
谢谢
※ 编辑: gowrite (111.255.11.60 台湾), 08/12/2021 14:21:17
5F:→ leolarrel: 没标准作法,只有UNIX惯例.通常.h档会放在/usr/include, 08/13 11:19
6F:→ leolarrel: library的.so档跟.a档会放在/usr/lib.但也不一定一定要 08/13 11:20
7F:→ leolarrel: 在这几个地方.你该学的是linux 世界中,lib是怎麽被找到 08/13 11:21
8F:→ leolarrel: 与连结的.你可以学以下关键字:"ld.so.conf" "ldd" 08/13 11:22
9F:→ leolarrel: "ldconfig", "linux 动态连结" 08/13 11:23
10F:推 Qbsuran: 帮楼上补还有rpath 08/19 04:46
11F:→ ketrobo: 其实是各家有各家的标准 XD 08/31 09:27
12F:→ ketrobo: 主要需要学会用pkg-config,然後再配合find/ldd等工具找 08/31 09:30
13F:→ ketrobo: 档案 08/31 09:30