【问题标题】:Macport skip dependencyMacport 跳过依赖
【发布时间】:2011-10-29 13:06:29
【问题描述】:

如果依赖项构建失败,是否也可以安装端口?

我的意思是,我必须安装 texlive,它需要很多依赖项,并且其中一个(py26-libxml2)无法构建。有没有办法跳过它?

我知道它不安全,但我需要它,我不想用 MacTex 安装 tex。

谢谢, 卢卡

【问题讨论】:

  • 我也想这样做。我正在尝试构建 kdelibs4,但 dep 树包含仅生成文档所需的 grantlee。
  • 这对于处理 py27-pil 中的错误非常棒;需要 py27-tkinter 来构建 py27-spyder 之类的东西;没有实际需要的dep。

标签: macports


【解决方案1】:

开始前的注意事项:移除依赖项可能会破坏构建,因此请准备好进行故障排除。当然,不能保证成功。谷歌可能会帮助解决构建错误,但这只会到此为止。或许你应该先弄清楚为什么 py26-libxml2 会失败。

编辑依赖项

看起来您可以编辑依赖项列表。问题是您已经必须知道什么依赖于 py26-libxml2。你可以使用

port rdeps texlive

查看基本树,但每个端口只会出现一次,除非你使用 --full,这对于 texlive 来说需要永远。

找到依赖项后,您可以通过下载的 Portfile 在本地更改其依赖项。

sudo port edit PORTNAME

然后您应该从depends_lib 或depends_lib-append 中删除依赖项。我对格式不太了解,所以...

您应该在编辑之前备份此文件。它的位置是通过

找到的
port file PORTNAME

编辑后,您可以再次运行 rdeps 以查看是否有任何其他依赖项使用了您要省略的那个。

【讨论】:

    【解决方案2】:

    有时您可以安装没有不需要的依赖项的端口变体。

    例如,假设我们要安装 libsdl2_image 而不安装整个 x11

    port deps libsdl2_image 和进一步的 port deps ... 表明它是 libgif,它依赖于 x11 并且有一个 +x11(和 -x11,这是更重要的!)变体。

    sudo port install giflib -x11 没有立即提供帮助,但屈服了:

    Error: Please use the same variants again, or run 'port clean giflib' first to remove the existing partially completed build.

    接下来,

    sudo port clean giflib
    sudo port install giflib -x11
    

    做到了:现在sudo port install libsdl2_image 没有安装x11

    And last 但并非最不重要:

    发件人:瑞恩·施密特:

    如果端口中存在错误的依赖项(或端口中的任何其他错误),我们希望将错误报告给维护者和/或在问题跟踪器中创建错误,以便可以修复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 2012-10-07
      相关资源
      最近更新 更多