3 votos

GCC with-gxx-include-dir se ajusta al simulador de iOS 11.4

Estoy tratando de compilar https://github.com/zeromq/libzmq que requiere que ejecute autoconf y luego ./configure . Hace unos días funcionaba, pero ahora ocurre esto:

checking for a BSD-compatible install... /usr/local/bin/ginstall -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/local/bin/gmkdir -p
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '502' is supported by ustar format... yes
checking whether GID '20' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... configure: error: in `/Users/rajiv/libzmq/libzmq-4.2.5':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

config.log espectáculos:

configure:4489: checking whether we are cross compiling
configure:4497: gcc -o conftest    conftest.c  >&5
configure:4501: $? = 0
configure:4508: ./conftest
dyld: mach-o, but built for simulator (not macOS)
./configure: line 4510: 98877 Abort trap: 6           ./conftest$ac_cv_exeext
configure:4512: $? = 134

Después de buscar en GitHub durante un tiempo parece que algo podría estar mal con GCC:

$ gcc -v

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.4.sdk/usr/include/c++/4.2.1

Apple LLVM version 9.1.0 (clang-902.0.39.2)

Target: x86_64-apple-darwin17.7.0

Thread model: posix

InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Parece que está tratando de include del SDK de iOS 11.4. ¿Cómo puedo cambiarla de nuevo a la ruta correcta y cómo se ha producido este cambio? Lo único que se me ocurre es que he instalado una actualización de las herramientas de línea de comandos de Xcode y puede que haya actualizado autoconf con Homebrew

0 votos

Dudo que /usr/include/c++/4.2.1 sea el include correcto que es para un gcc antiguo - Apple ya no suministra gcc sino clang. Me wopuld mirar a los sistemas de puertos como macports o Homebrew para ver cómo manejan los cambios de esta construcción necesita

0 votos

¿Por qué has utilizado una etiqueta casera?

0 votos

@Mark Había asumido que ese era el directorio adecuado, pero en realidad sólo quiero cambiarlo a cualquier directorio que deba ser. Editaré la pregunta en consecuencia. Añadí la etiqueta homebrew porque no estoy seguro de si Homebrew influyó en este cambio, pero lo quitaré

1voto

jan pijl Puntos 11

Estaba viendo un problema similar.

$ gcc -v
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.4.sdk/usr/include/c++/4.2.1

En mi caso, esa configuración dio lugar a inclusiones como #include <stdlib.h> haciendo referencia a las bibliotecas de la plataforma del simulador de iOS/iPhone en lugar de las bibliotecas de MacOS. Esto ha provocado que me salgan errores sobre el uso de una arquitectura incorrecta al compilar.

La única solución viable que encontré fue desinstalar Xcode (borrando la aplicación de /Applications ) y desinstalar las herramientas de línea de comandos . Eso y un reinicio parecieron resolver este problema en mi caso.

0 votos

Gracias. Me ha funcionado. No estoy seguro de cuál fue la causa de root, tal vez una actualización de Xcode

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