我正在尝试清除ldconfig库链接缓存。我有一个本地文件夹,新构建的库会被放置在里面。我想更新ldconfig缓存以指向这些新构建的库。
我尝试使用ldconfig -c命令,并给它提供自己的.conf文件。我还尝试替换/ etc / ld.so.conf文件以指向库的新路径。但即使这样做,当我使用ldconfig -p命令检查缓存时,它仍然显示旧库。
因此,如何清除并重新构建ldconfig缓存呢?附加说明:我使用的是Ubuntu 13.10。
我正在尝试清除ldconfig库链接缓存。我有一个本地文件夹,新构建的库会被放置在里面。我想更新ldconfig缓存以指向这些新构建的库。
我尝试使用ldconfig -c命令,并给它提供自己的.conf文件。我还尝试替换/ etc / ld.so.conf文件以指向库的新路径。但即使这样做,当我使用ldconfig -p命令检查缓存时,它仍然显示旧库。
因此,如何清除并重新构建ldconfig缓存呢?附加说明:我使用的是Ubuntu 13.10。
虽然已经晚了2年,但是如果有人碰巧看到了这个问题,就按照以下命令运行su
(不要用sudo
):
rm /etc/ld.so.cache
ldconfig
重建缓存
以sudo身份打开/etc/ld.so.conf
文件,并添加一个新行,加入库目录。在这个例子中,我们添加/usr/local/lib
。
重新运行ldconfig来重建缓存:
$ sudo ldconfig
这对我起作用了。
/usr/local/lib
已经存在,我只需要运行 ldconfig
命令,这样新的库就能被找到了。有趣的是,它对于普通用户不可用。没有使用 sudo
,它会说不知道 ldconfig
。 - Alexis Wilkeiptables
,对于普通用户是可访问的。然后他们告诉你无法获得足够的权限来运行命令。在这种意义上,我认为ldconfig
被隐藏起来很奇怪。 - Alexis Wilke$ > /etc/ld.so.cache
$ ldconfig
rm /etc/ld.so.cache
命令后,使用sudo report
报错:"sudo: error while loading shared libraries: libaudit.so.1"。 - Crawl.Wsu
的身份运行它了,不是吗? - codenamezerosudo rm /etc/ld.so.cache
。 - Crawl.Wldconfig
时遇到了“加载共享库”错误?或者现在不同的发行版做事情的方式不同了。但是当我发布答案时,这就是我需要做的才能让事情正常工作。 - codenamezero