如何解决具有不同纪元数的构建依赖关系?

如何解决具有不同纪元数的构建依赖关系?

我有Launchpad 上的构建但由于一些我无法理解的原因,它失败了。

该软件包清楚地列出了构建依赖项:

Merged Build-Depends: ..., golang (>= 1:1.4~) | gccgo-5, ...
Filtered Build-Depends: ..., golang (>= 1:1.4~) | gccgo-5, ...

golang除非我遗漏了什么,这意味着必须安装 >= 1.4的版本或者 gccgo-5必须安装。

但 APT 并没有做到这两点。进一步来看,我们可以看到:

The following NEW packages will be installed:
  ... golang-go ...
0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded.
Need to get 26.5 MB of archives.
After this operation, 139 MB of additional disk space will be used.
...
Get:27 [...] trusty/universe golang-go i386 2:1.2.1-2ubuntu1 [7148 kB]

1.2究竟是如何golang满足构建依赖关系的?这是怎么回事?我做错了什么?


编辑:正如评论中指出的那样,问题围绕着纪元数。我现在的问题是:我该怎么做才能解决这个问题?

答案1

一旦纪元数字开始发挥作用,您就无法有意义地请求除旧纪元的精确版本之外的任何东西作为依赖项。>= 1:1.4任何来自较新纪元的包都会满足要求,甚至2:0.1。 您可以使用精确匹配(== 1:1.4),但我怀疑这不是您想要的。

由于目前所有支持的 Ubuntu 版本都golang使用新纪元进行版本控制的软件包,你也该行动起来了。Debian也使用新纪元。因此,目前看来,只有非官方来源才会有1:版本控制golang包。

相关内容