bfd.h powinien był dołączyć libiberty / ansidecl.h do Ubuntu 14.04?

23

pakiet binutils wydaje się być zmieniony, gdyż zawiera katalog libiberty.hzostał przeniesiony do /usr/include/libiberty, więc istnieje możliwość uwzględnienia w niewłaściwy bfd.hw sprawie ansidecl.h.

Uzyskanie tych błędów kompilacji podczas korzystania z narzędzi do śledzenia 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);

Zmieniając bfd.hna uwzględnianie /usr/include/libiberty/ansidecl.h, wszystko poszło dobrze w mojej kompilacji.

Czy masz jakieś wskazówki dotyczące tego problemu? Dzięki.

Eduardo Abinader
źródło

Odpowiedzi:

1

Jak podali Eduardo Abinader (autor pytania) i Shaun Jackman jako odpowiednio Bug 58689 i MSG 00135 , wyciągając wnioski z wymiany danych ...

Jest to problem spowodowany starszą instalacją biblioteki w systemie Ubuntu. Wydaje mi się, że nie jest to wina Ubuntu ani binutils, ale wygląda na problem z aktualizacją systemu. Rozwiązanie jest zawarte w samym pytaniu.




PS: Ale najważniejsze jest to, że mieliśmy odpowiedź wtedy i teraz. Więcej informacji można znaleźć na stronie Linki! W razie potrzeby popraw tę odpowiedź. :)

Nowicjusz
źródło