问题描述
我正在使用ubuntu 12.04.每次启动bash终端时,以及每次键入命令(并按Enter)时,都会收到以下消息:
I am using ubuntu 12.04. Every time I start my bash terminal and every time when I finish typing a command(and press enter) , I get this message:
这很奇怪.那么,环境变量LD_PRELOAD的作用是什么?幕后到底是怎么回事?
It is weird.So what is the environment variable LD_PRELOAD used for? And what is the going on behind the scene?
谢谢.
推荐答案
链接器考虑了一些环境变量.一个是 LD_PRELOAD
The linker takes some environment variables into account. one is LD_PRELOAD
来自 man 8 ld-linux
:
LD_PRELOAD
A whitespace-separated list of additional, user-specified, ELF
shared libraries to be loaded before all others. This can be
used to selectively override functions in other shared
libraries. For setuid/setgid ELF binaries, only libraries in
the standard search directories that are also setgid will be
loaded.
因此,链接器将在加载其他库之前尝试加载 LD_PRELOAD
变量中列出的库.
Therefore the linker will try to load libraries listed in the LD_PRELOAD
variable before others are loaded.
在变量内部列出无法预加载的库的情况可能是什么.在设置了 LD_PRELOAD
的 .bashrc
或 .bash_profile
环境中查看,然后从变量中删除该库.
What could be the case that inside the variable is listed a library that can't be pre-loaded. look inside your .bashrc
or .bash_profile
environment where the LD_PRELOAD
is set and remove that library from the variable.
这篇关于错误:ld.so:无法预加载对象LD_PRELOAD:已忽略的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!