kesalahan fatal: sys / cdefs.h: Tidak ada file atau direktori |


108

Sudah berminggu-minggu saya mencoba menggunakan Code :: Blocks IDE pada Ubuntu 14.04 LTS untuk memprogram Atmega16, namun saya terhalang oleh kesalahan berikut saat mengkompilasi / membangun program di C :: B

/usr/include/features.h|374|fatal error: sys/cdefs.h: No such file or directory|

Saya telah membaca utas ini dan berdasarkan itu saya telah mencoba untuk membersihkan libc6-devdan mengalami masalah dengan menghapus dependensi. Dari pengalaman sebelumnya saya tahu bahwa ada kemungkinan besar untuk masuk ke kesalahan pipa rusak. Saya mengatasinya dengan menginstal dependensi yang hilang.

Sekarang saya masih memiliki kesalahan yang sama.


Jawaban:


154

Jika Anda sedang menginstal amd64, Anda dapat mencoba menginstal paket libc6-dev-i386. Ini membantu saya memecahkan masalah yang sama yang Anda temui ketika mencoba mengkompilasi smm dari i8kutils.


9
Ini bekerja seperti pesona. Ini harus menjadi jawaban yang diterima.
Patryk

14
Mungkin lebih baik untuk menginstal gcc-multilib dan g ++ - multilib.
RobotHumans

Menginstal libc6 dan libc6-dev memecahkannya untuk saya. Saya juga menemukan beberapa referensi untuk itu, tetapi sayangnya saya kehilangan itu.
Mandar

4
libc6-dev-i386 adalah salah satu paket tambahan yang akan diinstal jika saya jalankan sudo apt-get install g++-multilibdi Kali 2016.2.
林果 皞

3
Jika Anda memiliki banyak kumpulan alat penyusun, itu akan tampak seperti bug pengemasan. Multilib yang memberi Anda 32 dan 64 bit builder, tetapi mungkin mengatakan sesuatu yang konyol seperti menghapus semua toolchain lain terlebih dahulu untuk mencoba dan mencegah konflik. Bekerja untuk saya, tetapi saya tidak memiliki kompiler untuk lengan. Saya menggunakan VM untuk itu.
RobotHumans

46

Di komputer saya, di mana saya mungkin terlalu banyak memutar dengan file arsitektur 32 dan 64 bit, saya menyelesaikan masalah ini dengan menginstal g++-multilib.


2

Saya tahu ini adalah cabang Ubuntu-sentris tetapi halaman ini adalah yang pertama yang muncul ketika saya mencari kesalahan ini di Google (bahkan ketika saya memasukkan -Ubuntu dalam pencarian), jadi saya akan membagikan jawaban saya untuk Arch linux di sini:

Di Arch, saya mendapatkan cek sanity gagal / lib / cpp karena paket glibc rusak dan melewatkan semua header / usr / include / sys. Saya mengatasi kesalahan ini dengan mengkompilasi ulang glibc.


5
Lucu, saya menyelesaikan masalah ini beberapa bulan yang lalu dan saya benar-benar lupa. Jadi di sini saya mencari solusi lagi. Terima kasih Tuhan untuk situs ini. :)
thebunnyrules

Komentar itu :) Saya telah mendengar bahwa situs-situs di Stack Exchange secara keseluruhan telah melakukan ini berkali-kali sebelumnya
Paul Stelian

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.