error fatal: sys / cdefs.h: No existe tal archivo o directorio |


109

Hace semanas que trato de usar Code :: Blocks IDE en Ubuntu 14.04 LTS para programar Atmega16, sin embargo, tengo el siguiente error al compilar / construir el programa en C :: B

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

He leído este hilo y en base a eso he intentado purgar libc6-devy me he encontrado con problemas eliminando las dependencias. Por experiencia previa, sabía que existe una gran probabilidad de tener un error de tubería rota. Lo aborde instalando las dependencias perdidas.

Ahora todavía tengo el mismo error.


Respuestas:


154

Si está en una instalación de amd64, puede intentar instalar el paquete libc6-dev-i386. Esto me ayudó a resolver el mismo problema que encontró al intentar compilar smm desde i8kutils.


99
Funcionó como por arte de magia. Esta debería ser la respuesta aceptada.
Patryk

14
Podría ser mejor instalar gcc-multilib y g ++ - multilib.
RobotHumans

Instalar libc6 y libc6-dev lo resolvió por mí. También había encontrado alguna referencia para ello, pero lamentablemente lo perdí.
Mandar

44
libc6-dev-i386 es uno de los paquetes adicionales que se instalarán si ejecuto sudo apt-get install g++-multiliben Kali 2016.2.
林果 皞

3
Si tiene muchas cadenas de herramientas de compilación, eso parecería un error de empaquetado. El multilib te proporciona constructores de 32 y 64 bits, pero probablemente dice algo tonto como eliminar todas las otras cadenas de herramientas primero para tratar de evitar conflictos. Me funcionó, pero no tenía compiladores para el brazo. Yo uso máquinas virtuales para eso.
RobotHumans

47

En mi máquina, donde probablemente he jugado demasiado con archivos de arquitectura de 32 y 64 bits, resolví este problema instalando g++-multilib.


2

Sé que esta es una rama centrada en Ubuntu, pero esta página es la primera que apareció cuando busqué este error en Google (incluso cuando puse -Ubuntu en la búsqueda), así que voy a compartir mi respuesta para Arch Linux aquí:

En Arch, recibí una comprobación de fallos de / lib / cpp porque el paquete glibc estaba dañado y no tenía todos los encabezados / usr / include / sys. Resolví este error volviendo a compilar glibc.


55
Es curioso, resolví este problema hace un par de meses y lo olvidé por completo. Así que aquí estaba buscando una solución nuevamente. Gracias a Dios por este sitio. :)
thebunnyrules

Ese comentario :) Escuché que los sitios en Stack Exchange en general lo han hecho muchas veces antes
Paul Stelian,

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.