6 votos

No se encontró el archivo 'stdio.h', pero tengo este archivo en /usr/include/stdio.h

Al compilar un paquete, tengo el siguiente error:

$ make
clang -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -Wno-unused-command-line-argument -O2  -I/usr/local/include/scws  -I. -I./ -I/usr/local/Cellar/postgresql/11.3/include/server -I/usr/local/Cellar/postgresql/11.3/include/internal -I/usr/local/Cellar/icu4c/64.2/include -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -I/usr/local/opt/openssl/include -I/usr/local/opt/readline/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxml2   -c -o zhparser.o zhparser.c
clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk' [-Wmissing-sysroot]
In file included from zhparser.c:10:
In file included from /usr/local/Cellar/postgresql/11.3/include/server/postgres.h:46:
/usr/local/Cellar/postgresql/11.3/include/server/c.h:59:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^~~~~~~~~
1 error generated.

Cuando busco este error en línea, en línea todos los problemas de no tener archivos de encabezado en /usr/include/. Pero cuando reviso el directorio, que tiene muchos archivos de encabezado

$ ls -l /usr/include/stdio.h
-r--r--r--  1 root  wheel  16319 Jan 22  2018 /usr/include/stdio.h

$ ls -l /usr/include/ | wc -l
     266

Así que, ¿qué puedo hacer en mi caso?

Muchas gracias.

Editado: he actualizado la salida de error. Me acabo de enterar de que tenía un aviso: clang: warning: no such sysroot directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk', Pero tengo MacOSX10.13.sdk lugar porque estoy corriendo MacOSX10.13. No tengo idea por qué se busca 10.14 sdk y no estoy seguro si esta es la causa root o no.

5voto

Turtle Puntos 120

La causa root del mensaje de error proviene del mensaje de advertencia:

clang: advertencia: no hay tal directorio sysroot: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk'

Al revisar el directorio de SDKs:

 $ cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
$ ls
MacOSX.sdk/      MacOSX10.13.sdk
 

Entonces, para solucionar el problema, es volver a instalar xcode sugerido por @Mark o crear un enlace simbólico como el siguiente:

 $ sudo ln -s MacOSX.sdk/ MacOSX10.14.sdk
 

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X