【问题标题】:Purging and rebuilding ldconfig cache?清除和重建 ldconfig 缓存?
【发布时间】:2014-03-12 14:27:11
【问题描述】:

我正在尝试清除链接到要链接的库的 ldconfig 缓存。 我有一个本地文件夹,其中放置了新建的库。 我想更新 ldconfig 缓存以指向这些新建的库。

我已尝试使用 ldconfig -c 命令,并为其提供我自己的 .conf 文件。 我还尝试替换 /etc/ld.so.conf 文件以指向库的新路径。 但是即使这样做了,当我使用 ldconfig -p 命令检查缓存时,它仍然显示旧的库。

因此如何清除和重建 ldconfig 缓存? 补充一点:我在 Ubuntu 13.10 上。

【问题讨论】:

    标签: linux shared-libraries


    【解决方案1】:

    晚了 2 年,但如果有人偶然发现这一点,作为 su不是 作为 sudo),运行以下命令:

    rm /etc/ld.so.cache
    ldconfig
    

    【讨论】:

    • 似乎对我不起作用:我执行了上述操作,但是在Rebuild Dynamic Linker Cache... 时我仍然需要等待下次重启
    • rm /etc/ld.so.cache 之后,exec sudo 报告“sudo: error while loading shared libraries: libaudit.so.1”
    • @Crawl.W 我在回答中确实提到过运行它 as su 不是吗?
    • 我执行sudo rm /etc/ld.so.cache
    • 成为 su 与使用 sudo 运行命令略有不同。我假设您在尝试运行第二个命令ldconfig 时遇到“正在加载共享库”错误?或者也许现在不同的发行版做了不同的事情。但在我发布答案时,我需要做的就是让事情对我有用。
    【解决方案2】:

    重建缓存

    以 sudo 身份打开 /etc/ld.so.conf 并在库目录中添加一个新行。在这种情况下,我们添加/usr/local/lib。 重新运行 ldconfig 重建缓存:

    $ sudo ldconfig
    

    这对我有用。

    【讨论】:

      【解决方案3】:

      我通过以下方式解决了这个问题:

      $ > /etc/ld.so.cache

      然后:

      $ ldconfig

      【讨论】:

      • 感谢@Rastalamm,第一个答案对我不起作用。
      猜你喜欢
      • 1970-01-01
      • 2018-05-11
      • 1970-01-01
      • 2011-03-27
      • 2018-03-13
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 2011-07-25
      相关资源
      最近更新 更多