O bfd.h deveria ter incluído o libiberty / ansidecl.h no Ubuntu 14.04?

23

pacote binutils parece ser alterada, já que inclui diretório de libiberty.hmudou-se para /usr/include/libiberty, portanto, há um erro possível incluir na bfd.hrelação ansidecl.h.

Obtendo esses erros de compilação ao usar os utilitários de rastreamento binutils

/usr/include/libiberty/libiberty.h: In function ‘basename’:
/usr/include/libiberty/libiberty.h:110:38: error: expected declaration specifiers before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); 
                                      ^
/usr/include/libiberty/libiberty.h:121:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); 
                                             ^
/usr/include/libiberty/libiberty.h:126:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *dos_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
                                                 ^
/usr/include/libiberty/libiberty.h:132:50: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ATTRIBUTE_RETURNS_NONNULL’
 extern const char *unix_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);

Ao mudar bfd.hpara incluir /usr/include/libiberty/ansidecl.h, tudo correu bem na minha compilação.

Por favor, alguma dica para esse problema? Obrigado.

Eduardo Abinader
fonte

Respostas:

1

Conforme relatado por Eduardo Abinader (autor da pergunta) e Shaun Jackman como Bug 58689 e MSG 00135 , respectivamente, concluindo a partir de dados trocados ...

Este é um problema causado pela instalação de bibliotecas mais antigas no sistema Ubuntu, acho que não é culpa do Ubuntu nem do binutils, mas parece com o problema da Atualização do sistema. A solução está incluída na própria pergunta.




PS: Mas, o principal é que tivemos uma resposta naquela época e agora. Mais detalhes podem ser encontrados em Links! Melhore esta resposta, se necessário. :)

Novato
fonte