【问题标题】:Macports Warning: No port llvm-3.0 found in the index; can't rebuildMacports 警告:在索引中找不到端口 llvm-3.0;无法重建
【发布时间】:2019-02-05 18:50:15
【问题描述】:

我正在运行 MacOS/X Sierra 10.12.6 和 Macports 2.5.3。 当我这样做时

sudo 端口安装 gcc47

我明白了

警告:在索引中找不到端口 llvm-3.0;无法重建

---> 找到损坏的文件,但所有关联的端口都不在索引中,因此无法重建。

我该如何解决这个问题?

【问题讨论】:

    标签: macports


    【解决方案1】:

    当 MacPorts 在安装后发现损坏的文件(例如,缺少文件、缺少端口安装的文件中的链接依赖项)时,会发生此问题。然后它将继续确定必须重建哪些端口才能解决问题。

    在您的情况下,llvm-3.0 端口中的文件已损坏。此端口已被删除 almost three years ago,因为它已过时。你应该找出为什么你的系统仍然需要它:

    $> port installed rdependentof:llvm-3.0 and requested
    $> port dependents llvm-3.0
    

    看看这两个命令列出的端口是否可以完全删除,或者提供变体以选择 LLVM 版本,并且可以升级以使用更新的 LLVM 变体。

    【讨论】:

    • 我(仍然)在 OS 10.11.6 上并且有类似的警告:“警告:在索引中找不到端口 llvm-3.8;无法重建”所以我找到了这篇文章。我有很多依赖端口,所以最后我在“/opt/local/lib”中做了一个“ln -s libffi.8.dylib libffi.6.dylib”,因为缺少那个libffi.6.dylib。现在没有更多警告了。
    • 这正是你不应该做的。文件名从 libffi.6.dylib 更改为 libffi.8.dylib 的原因是因为库的接口发生了变化,libffi 的开发人员希望您针对新版本重新编译所有软件。该符号链接现在可能意味着您的程序将随机崩溃,或可能出现错误行为。
    • 我能做的更好吗?我在我的系统中没有找到 libffi.6.dylib,其他地方 :(
    • 您的 llvm-3.8 副本需要针对较新版本的 libffi 重新编译。我假设这可能没有问题,但 llvm-3.8 已过时,MacPorts 不再支持。您应该切换到更新版本的 llvm,这是我最初的答案所建议的。
    • 好的,我删除了我的符号链接,我再次看到“找到 1 个损坏的文件,将文件与端口匹配”和“警告:在索引中找不到端口 llvm-3.8;无法重建”,所以我做了一个“端口依赖 llvm-3.8”,但现在我得到“llvm-3.8 没有依赖”。并且“端口已安装 rdependentof:llvm-3.8 并已请求”也给了我“未安装任何指定的端口”。这可能是因为我之前做了“端口卸载不活动”吗?还是我用那个符号链接破坏了我的端口安装?奇怪的是所有端口(至少我注意到的)都在使用我的符号链接。
    猜你喜欢
    • 2022-01-14
    • 2020-10-10
    • 2013-03-25
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2019-01-25
    • 1970-01-01
    相关资源
    最近更新 更多