【Debug】ERROR: ld.so: object '/usr/local/lib/ff.so' from /etc/ld.so.preload cannot be preloaded: igno
解决这个问题需要先了解一下Linux系统的库文件
库文件是编译好的程序,这类程序通常没有执行入口,需要其他程序的调用才会执行。
Linux 中的 so(shared object,共享对象) 也叫做动态链接库,在 Linux 中是一系列以 .so 为后缀名(后面可能还跟有版本号)的文件。与动态链接库所对应的是静态库,静态库文件是以 .a 为后缀名的文件。
使用动态链接库的程序
程序在启动时操作系统会将所需的动态链接库加载到内存中供程序使用,搜索的路径是系统默认或者自定义的
使用动态链接库的程序会比较小,但是使用时对操作系统环境有一定要求
动态连接库在内存中是共享的,多个进程可以使用操作系统内存中的同一个动态链接库,因此一定程度上能够节省内存开销 库文件的更新不需要更新整个程序
使用静态库的程序
在编译时就将静态库编译到程序内部,对操作系统环境要求较低
静态库在内存中不能够共享,不能节省内存开销
将静态库编译进程序,程序的体积可能较大
库文件的修改需要重新编译整个程序
库文件是怎样被使用的
在基于 GNU glibc 的系统中,包括所有的 Linux 操作系统,启动一个可执行的带链接库程序时,会自动启动一个载入程序。 在Linux系统中,这个载入程序叫做 /lib/ld-linux.so.X
( X是版本号 ),64 位系统中这个文件是 /lib64/ld-linux-x86-64.so.X
。这个载入程序会查找并载入程序所使用的其他共享库至内存中。
共享库文件查询的目录存放在 /etc/ld.so.conf
中。注意,对于红帽 Linux 系统,/etc/ld.so.conf
这个文件中并没有包含 /usr/local/lib
这个常用的库文件目录。
如果只是想要覆盖一个库文件的某些函数,但保留其余的内容,可以将覆盖库文件名(.o 后缀文件)保存至 /etc/ld.so.preload
文件中。这些覆盖库文件会比标准库文件优先读取,这通常用于紧急的版本补丁。
每次都查找 /etc/ld.so.conf
中的目录是很低效的,因此 ldconfig
程序会读取 /etc/ld.so.conf
文件中的所有目录中的文件,将库文件 real name 设置合适的软链接 soname,并将这些文件名缓存至 /etc/ld.so.cache
中。这样会大大加快库文件的寻找速度。
特殊的库文件 linux-vdso.so
,在早期的 x86 处理器中,用户程序与管理服务之间的通信通过软中断实现。 随着处理器速度的提高,这已成为一个严重的瓶颈。 自 Pentium® II 处理器开始,Intel® 引入了 Fast System Call 装置来提高系统调用速度, 即采用 SYSENTER 和 SYSEXIT 指令,而不是中断。
linux-vdso.so.1
是个虚拟库,即 Virtual Dynamic Shared Object,它只存在于程序的地址空间当中。 在旧版本系统中该库为 linux-gate.so.1
。 该虚拟库为用户程序以处理器可支持的最快的方式 (对于特定处理器,采用中断方式;对于大多数最新的处理器,采用快速系统调用方式) 访问系统函数提供了必要的逻辑 。
解决问题
输出/etc/ld.so.preload
会发现以下内容:
/usr/local/lib/md.so
/usr/local/lib/sh.so
/usr/local/lib/y.so
/usr/local/lib/ff.so
将这些内容删除,就不会出现以上的报错了(删除前要确认里面的内容无效)。
【Debug】ERROR: ld.so: object '/usr/local/lib/ff.so' from /etc/ld.so.preload cannot be preloaded: igno相关推荐
- linux usr local权限,【linux】sudo chown -R $(whoami) /usr/local提示操作被拒绝
电脑是mac,终端运行brew时,提示: Please run brew update! 按提示执行brew update,提示: Error: /usr/local must be writable ...
- 【CentOS】Not a valid JAR: /usr/local/src/hadoop
安装了 hadoop 单机版,想利用自身携带的案例jar测试wordcount,却一直报错: [root@server sbin]# hadoop jar /usr/local/src/hadoop ...
- error: could not create '/usr/local/lib/python2.7/dist-packages/virtualenv_support': Permission deni
sudo chown -R $USER /usr/local
- 【Python】Error:'int' object is not callable
python错误: TypeError: 'int' object is not callable 经过百度,可能是 你正在调用一个不能被调用的变量或对象,具体表现就是你调用函数.变量的方式错误. 如 ...
- 【Debug】关于Could not get lock /var/lib/dpkg/lock-frontend解决办法
作者:柒号华仔 个人主页:欢迎访问我的主页 个人信条:星光不问赶路人,岁月不负有心人. 个人方向:专注于5G领域,同时兼顾其他网络协议,编解码协议,C/C++,linux等,感兴趣的小伙伴可以关注我, ...
- fix: brew: Permission denied @ apply2files - /usr/local/lib/node_modules/webpack/es/ters-brow
文章目录 main solve other 1 other 2 main solve other 1 MAC安装openssl报错 Permission denied @ apply2files 20 ...
- ERROR: ld.so: object '/usr/lib64/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded: ignored
出现错误: ERROR: ld.so: object '/usr/lib64/libtcmalloc.so.4' from LD_PRELOAD cannot be preloaded: ignore ...
- 【OAI】【debug】分立机器基站接入核心网并调试可用解决之路
这里写目录标题 问题描述 解决思路1--机器网卡设置到192.168.70.0网段 测试过程 结论 解决思路2 docker-swarm 测试过程 结论 讨论: 原始方案路由关系详解 0422调试问题 ...
- 【转】error while loading shared libraries: xxx.so.x 错误的原因和解决办法
原博客地址:http://www.cnblogs.com/Anker/p/3209876.html#undefined error while loading shared libraries: xx ...
- 【异常】Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012)
[异常]Error: ERROR 1012 (42M03): Table undefined. (state=42M03,code=1012) 参考文章: (1)[异常]Error: ERROR 10 ...
最新文章
- S标签实际大全(struts2)
- 钱学森最后一次系统谈话:大学要有创新精神
- 网站计数器 php,网站计数器 php
- java 内存模型6_深入理解Java内存模型(六)——final
- 随想录(分布式系统)
- python基本数据类型和简单用法
- python网页打不开_解决谷歌搜索技术文章时打不开网页问题的python脚本
- Pytorch:GPU版代码改成CPU版(RuntimeError: torch.cuda.FloatTensor is not enabled.)
- svn取消文件夹图标_SVN文件夹或文件不显示图标解决方法
- UI设计师需要掌握哪些设计软件?
- oracle 计算时间差 毫秒,Oracle计算时间差为毫秒的实现代码
- ESP32的SDK开发之获取SNTP网络时间
- VMware Workstation 错误:“以独占方式锁定此配置文件失败。另一个正在运行的VMware进程可能正在使用配置文件。”的解决方法
- css b加粗怎么用,CSS去掉b加粗和strong加粗标签样式.doc
- 干货!iOS 与 Android 的APP 设计差异
- 2021年初级会计职称《初级会计实务》考试真题资产内容
- C4D倒角应用—样条挤压后如何正确倒角
- 【日常问题】chrome开启无痕模式,屏蔽第三方cookie
- 送书送书送书,(包邮)送,仅此而已!
- STM32F103频率计