schwerwiegender Fehler: sys / cdefs.h: Keine solche Datei oder Verzeichnis |

108

Es ist Wochen her, dass ich versuche, Code :: Blocks IDE auf Ubuntu 14.04 LTS zu verwenden, um Atmega16 zu programmieren, aber ich werde durch den folgenden Fehler beim Kompilieren / Erstellen des Programms in C :: B behindert

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

Ich habe diesen Thread und auf der Grundlage , dass ich versucht habe , zu reinigen libc6-devund lief in Schwierigkeiten durch die Abhängigkeiten zu entfernen. Aus früheren Erfahrungen wusste ich, dass es sehr wahrscheinlich ist, dass ein Rohrbruch auftritt. Ich packte es an, indem ich die verlorenen Abhängigkeiten installierte.

Jetzt habe ich immer noch den gleichen Fehler.

Mandar
quelle
1
Mögliches Duplikat von Wie finde ich das Paket, das eine Datei bereitstellt?
David Foerster

Antworten:

154

Wenn Sie mit einer amd64-Installation arbeiten, können Sie versuchen, das Paket zu installieren libc6-dev-i386. Dies hat mir geholfen, dasselbe Problem zu lösen, auf das Sie beim Kompilieren von smm aus i8kutils gestoßen sind.

Zerwas
quelle
9
Das hat wie ein Zauber gewirkt. Dies sollte die akzeptierte Antwort sein.
Patryk
14
Könnte besser sein, gcc-multilib und g ++ - multilib zu installieren.
RobotHumans
Das Installieren von libc6 und libc6-dev hat es für mich gelöst. Ich hatte auch eine Referenz dafür gefunden, aber leider habe ich sie verloren.
Mandar
4
libc6-dev-i386 ist eines der zusätzlichen Pakete, die installiert werden, wenn ich sudo apt-get install g++-multilibmit Kali 2016.2 arbeite.
12.
3
Wenn Sie viele Compiler-Toolchains haben, scheint dies ein Verpackungsfehler zu sein. Mit der Multilib bekommt man 32- und 64-Bit-Builder, sagt aber wahrscheinlich etwas Dummes, wie zuerst alle anderen Toolchains entfernen, um Konflikte zu vermeiden. Arbeitete für mich, aber ich hatte keine Compiler für Arm. Ich benutze dafür VMs.
RobotHumans
46

Auf meinem Computer, auf dem ich wahrscheinlich zu viel mit 32- und 64-Bit-Architekturdateien herumgeschraubt habe, habe ich dieses Problem durch die Installation behoben g++-multilib.

Ted Hahn
quelle
2

Ich weiß, dass dies ein Ubuntu-zentrierter Zweig von ist, aber diese Seite ist die erste, die aufgetaucht ist, als ich diesen Fehler bei Google suchte (auch wenn ich -Ubuntu in die Suche einfügte), also werde ich meine Antwort für Arch teilen Linux hier:

In Arch wurde eine / lib / cpp-Fehlerprüfung durchgeführt, da das Paket glibc beschädigt war und alle / usr / include / sys-Header fehlten. Ich habe diesen Fehler behoben, indem ich glibc neu zusammengestellt habe.

thebunnyrules
quelle
5
Komischerweise habe ich dieses Problem vor ein paar Monaten gelöst und es komplett vergessen. Also suchte ich hier wieder nach einer Lösung. Gott sei Dank für diese Seite. :)
thebunnyrules
Dieser Kommentar :) Ich habe gehört, dass Websites in Stack Exchange dies schon oft getan haben
Paul Stelian,
2

Befehl eingeben:

sudo apt-get --reinstall install libc6 libc6-dev

Problem gelöst.

user845225
quelle
1
Hallo und herzlich willkommen bei askubuntu! Bitte verwenden Sie die Richtlinie von askubuntu.com/editing-help, um Ihre Beiträge zu formatieren.
abu_bua
Willkommen bei Ask Ubuntu! ;-) Könnten Sie bitte meine Bearbeitungen und auch die Bearbeitungshilfe überprüfen , um die Lesbarkeit Ihrer Antworten in Zukunft zu verbessern ... ;-) (CC @abu_bua)
Fabby