LD_DEBUG 是 glibc 中的 loader 为了方便自身调试而设置的一个环境变量。通过设置这个环境变量,可以方便的看到 loader 的加载过程。 以在 64位 CentOS 上编译安装 memcached 为例,安装阶段顺利,执行 memcached 命令时出现错误:
用find 找到文件的路径为:/usr/lib/libevent-1.4.so.2,设置 LD_DEBUG 变量获得更多信息:
库依赖的问题,使用 libs 参数:
从最后一行可以看出,此命令执行后,所查找的路径为:/usr/lib64/libevent-1.1.so.2,而改文件不存在此目录下,因此我们只需要做个软链接到该路径即可:ln -s /usr/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.1.so.2,这样就会找到该文件了。