¿bfd.h debería haber incluido libiberty / ansidecl.h en Ubuntu 14.04?

23

El paquete binutils parece haber cambiado, ya que incluye el directorio al que se libiberty.hha movido /usr/include/libiberty, por lo que es posible que se incluya incorrectamente al bfd.hrespecto ansidecl.h.

Obteniendo esos errores de compilación cuando se utilizan las utilidades de rastreo

/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);

Al cambiar bfd.hpara incluir /usr/include/libiberty/ansidecl.h, todo salió bien en mi compilación.

Por favor, ¿alguna pista para este problema? Gracias.

Eduardo Abinader
fuente

Respuestas:

1

Según lo informado por Eduardo Abinader (el autor de la pregunta) y Shaun Jackman como Bug 58689 y MSG 00135 respectivamente, concluyendo a partir de los datos intercambiados ...

Este es un problema causado por una instalación de biblioteca anterior en el sistema Ubuntu, supongo que no es culpa de Ubuntu ni de binutils, pero parece un problema de Actualización del sistema. La solución se incluye en la pregunta misma.




PD: Pero, lo principal es que teníamos una respuesta en ese entonces y ahora. Más detalles se pueden encontrar en los enlaces! Mejore esta respuesta si es necesario. :)

Principiante
fuente