制作Linux根文件系统关于链接库的问题
来源:互联网 发布:淘宝网购物精品羊毛衫 编辑:程序博客网 时间:2024/05/22 12:18
1.应用程序执行需要库的支持
在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行;
在Linux环境下通过ldd命令即可实现,在终端下执行:
ldd /bin/ls 。(注意 file指令)
即可得到/bin/ls命令的相关共享库文件列表:
libtermcap.so.2 => /lib/libtermcap.so.2
libc.so.6 => /lib/libc.so.6
/lib/ld-linux.so.2 => /lib/ld-linux.so.2
注意:
在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。
2 知识点:
如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是两种情况引起的:
1.共享库没有安装在该系统中;
2.共享库保存在 /etc/ld.so.conf 文件列出的搜索路径之外的位置。
通常情况下,许多开放源代码的程序或函数库都会默认将自己安装到 /usr/local 目录下的相应位置(如:/usr/local/bin 或 /usr/local/lib),以便与系统自身的程序或函数库相区别。而许多 Linux 系统的 /etc/ld.so.conf 文件中默认又不包含 /usr/local/lib。因此,往往会出现已经安装了共享库,但是却无法找到共享库的情况。具体解决办法如下:
检查 /etc/ld.so.conf 文件,如果其中缺少 /usr/local/lib 目录,就添加进去;注意:在修改了 /etc/ld.so.conf 文件或者在系统中安装了新的函数库之后,需要运行一个命令:ldconfig ,该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库 so 名称的缓存文件/etc/ld.so.cache。因此,在安装新的共享库之后,一定要运行 ldconfig 刷新该缓存。
- 制作Linux根文件系统关于链接库的问题
- 制作根文件系统的问题
- linux根文件系统的制作
- linux 根文件系统的制作
- Linux根文件系统的制作
- Linux根文件系统的制作
- linux根文件系统的制作
- linux根文件系统的制作
- linux根文件系统的制作 .
- linux根文件系统的制作
- 【Linux基础】制作qte-4.7.0带tslib的根文件系统 [复制链接]
- 关于根文件系统挂载好的文章链接
- linux根文件系统制作
- linux根文件系统制作
- linux根文件系统制作
- linux 根文件系统制作
- 制作linux根文件系统
- linux 根文件系统制作
- 3、类和对象
- 【Android开发】获取已安装应用的安装文件(apk文件)
- [none]CodeForces 534B
- Android开发过程遇到的问题
- 成长,没你想得那么迫切——雅虎《另一种活法》
- 制作Linux根文件系统关于链接库的问题
- 实型变量
- 猫猫学iOS(五十二)多线程网络之GCD下单例设计模式
- pypose机械臂简单控制
- linux下对第三方程序的代码执行效率分析
- opencms默认后缀名修改
- 数据库分库分表(sharding)系列(二) 全局主键生成策略
- ios开发之开发文档 start developing ios app
- 重新教自己学算法之单向链表(九)