Como resolver dependências de construção com números de época diferentes?

3

Eu tenho uma construção Barra de lançamento que está falhando por motivos que me escapam.

O pacote lista claramente as dependências de construção como:

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

A menos que esteja faltando alguma coisa, isso significa que uma versão de golang > = 1.4 deve ser instalada ou gccgo-5 deve ser instalada.

Mas o APT não faz nada disso. Mais abaixo, vemos:

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]

Como o golang 1.2 satisfaz a dependência de compilação? Oque esta acontecendo aqui? O que estou fazendo errado?

Editar: como apontado nos comentários, o problema gira em torno dos números de época. Minha pergunta agora é: o que posso fazer para contornar isso?

    
por Nathan Osman 29.03.2016 / 23:41

1 resposta

1

Uma vez que os números de época entram em jogo, você não pode solicitar significativamente outra coisa que não seja a versão exata de uma época mais antiga como uma depedência. >= 1:1.4 será satisfeito por qualquer pacote de uma época mais recente, até 2:0.1 . Você poderia usar correspondências exatas ( == 1:1.4 ), mas duvido que você queira.

Como todas as versões atualmente suportadas do Ubuntu têm golang packages versionados com a nova época , é hora de você mudou-se para ele também. O Debian também usa a nova época. Então, no momento, parece que apenas fontes não oficiais terão um pacote 1: -versioned golang .

    
por muru 30.03.2016 / 00:42