erreur fatale: sys / cdefs.h: Aucun fichier ou répertoire de ce type |


109

Cela fait des semaines que j'essaie d'utiliser Code :: Blocks IDE sur Ubuntu 14.04 LTS pour programmer Atmega16, cependant l'erreur suivante me gêne lors de la compilation / construction du programme en C :: B

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

J'ai lu ce fil et sur cette base, j'ai essayé de le purger libc6-devet j'ai eu des problèmes en supprimant les dépendances. De l'expérience précédente, j'ai su qu'il y avait une énorme probabilité d'entrer dans une erreur de conduite cassée. Je l'ai abordé en installant les dépendances perdues.

Maintenant, j'ai toujours la même erreur.


Réponses:


154

Si vous êtes sur une installation amd64, vous pouvez essayer d'installer le paquet libc6-dev-i386. Cela m'a aidé à résoudre le même problème que vous avez rencontré lors de la compilation de smm à partir de i8kutils.


9
Cela a fonctionné comme un charme. Cela devrait être la réponse acceptée.
Patryk

14
Peut-être serait-il préférable d'installer gcc-multilib et g ++ - multilib.
RobotHumans

L'installation de libc6 et de libc6-dev l'a résolu pour moi. J'avais aussi trouvé des références, mais malheureusement, je les ai perdues.
Mandar

4
libc6-dev-i386 est l'un des paquetages supplémentaires qui seront installés si je suis lancé sudo apt-get install g++-multilibdans Kali 2016.2.
林果皞

3
Si vous avez plusieurs chaînes d'outils de compilation, cela ressemblerait à un bogue d'emballage. Le multilib on vous amène les constructeurs 32 et 64 bits, mais dit probablement quelque chose de stupide comme supprimer toutes les autres chaînes d'outils en premier pour essayer d'éviter les conflits. Travaillé pour moi, mais je n'avais pas de compilateur pour bras. J'utilise des machines virtuelles pour cela.
RobotHumans

47

Sur ma machine, où j'ai probablement trop bricolé avec des fichiers d'architecture 32 et 64 bits, j'ai résolu ce problème en installant g++-multilib.


2

Je sais que c'est une branche centrée sur Ubuntu, mais cette page est la première à apparaître lorsque j'ai recherché cette erreur sur Google (même lorsque j'ai mis -Ubuntu dans la recherche), je vais donc partager ma réponse pour Arch linux ici:

Dans Arch, j’ai reçu une vérification d’échec pour / lib / cpp car le paquet glibc était corrompu et manquait de tous les en-têtes / usr / include / sys. J'ai résolu cette erreur en répétant la glibc.


5
C'est drôle, j'ai résolu ce problème il y a quelques mois et je l'ai complètement oublié. Donc, ici, je cherchais à nouveau une solution. Merci mon Dieu pour ce site. :)
thebunnyrules

Ce commentaire :) J'ai entendu dire que les sites de Stack Exchange dans leur ensemble l'avaient déjà fait maintes fois auparavant
Paul Stelian

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.