bfd.h seharusnya menyertakan libiberty / ansidecl.h di Ubuntu 14.04?

23

binutils paket tampaknya berubah, karena termasuk direktori libiberty.htelah pindah ke /usr/include/libiberty, sehingga ada kemungkinan yang salah termasuk dalam bfd.hmengenai ansidecl.h.

Mendapatkan kesalahan kompilasi tersebut saat menggunakan utilitas jejak 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);

Dengan mengubah bfd.huntuk memasukkan /usr/include/libiberty/ansidecl.h, semuanya berjalan dengan baik di kompilasi saya.

Tolong, ada petunjuk untuk masalah ini? Terima kasih.

Eduardo Abinader
sumber

Jawaban:

1

Seperti dilansir Eduardo Abinader (penulis pertanyaan) dan Shaun Jackman masing-masing sebagai Bug 58689 dan MSG 00135 , menyimpulkan dari pertukaran data ...

Ini adalah masalah yang disebabkan oleh pemasangan pustaka yang lebih lama pada sistem Ubuntu, saya kira itu bukan karena Ubuntu atau binutils, tetapi sepertinya masalah Pembaruan Sistem. Solusi termasuk dalam pertanyaan itu sendiri.




PS: Tapi, yang utama adalah kita punya jawaban dulu dan sekarang. Rincian lebih lanjut dapat ditemukan di Tautan! Harap perbaiki jawaban ini jika diperlukan. :)

Pemula
sumber