在linux系统中C库是重要性仅次于kernel的存在,因为一般的程序都是动态编译的,这就要用到共享库,C库中安装了常用的重要共享库。一般C库为Glibc,在嵌入式中可能用到uclibc等。
以Linux+vim系统为例,vim是一定要依赖Glibc的,可以vim还依赖其它库Ncurses,这就要再单装了。所以要想做一个Linux系统就要清楚软件之间的依赖关系。这一般在源文件包中的INSTALL文件中有述,说明安装本程序要的选安装的程序和最佳版本。
技巧:
Ldd <二进制文件>
这个命令可以查看所需二进制文件要哪些库文件,至于每个库文件是哪个软件包中的这就要自己查了。可以到lfs中查,一般的软件包都有,每个包将安装哪些文件都有。
例如:
#ldd /bin/cat linux-gate.so.1 => (0x00bfe000) libc.so.6 => /lib/libc.so.6 (0x00a4a000) /lib/ld-linux.so.2 (0x00a28000)