1 votos

Error fatal utilidad no encontrada en g++

Mientras hago en un programa que quiero instalar, que se instala bien en Opensuse, me sale el error

warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++
      standard library instead [-Wstdlibcxx-not-found]
/Users/xyz/rivet/YODA-1.7.7/pyext/yoda/util.cpp:446:10: fatal error: 'utility' file not found
#include <utility>
         ^~~~~~~~~
1 warning and 1 error generated.
error: command 'g++' failed with exit status 1
make[2]: *** [all-local] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Lo que entiendo que se queja de no encontrar la librería de utilidades en c++ pero para MacOS, el compilador es clang y muestra que tiene el archivo

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility

La versión de MacOS es 10.14.6, y la versión de Xcode es la 11.0 (11A420a). ¿Cómo resolver este caso entonces?

0 votos

Clang no es g++, por ejemplo, tiene parámetros diferentes. y OpenSuse es Linux, no MacOS - Tienes que configurar el sistema de construcción para utilizar el compilador correcto y cosas específicas del sistema operativo, entonces podría funcionar. No todas las cosas escritas para Linux funcionan en MacOS

0 votos

Sé que OpenSuse es Linux, el punto aquí para mencionar que el script funciona en realidad, y la exacta script ha trabajado en otros Macs de mis colegas.

0 votos

Entonces tienes que incluir más información en la pregunta, lo obvio es en qué se diferencia tu configuración de la de tu colega.

2voto

tachyon Puntos 11

La solución está en el mensaje de advertencia: pasar '-stdlib=libc++' en la línea de comandos al ejecutar el comando de instalación. Así que sólo tienes que añadir CXX="g++ -stdlib=libc++" al comando install/make.

1voto

Martin Hepp Puntos 111

La solución es bastante sencilla, aunque difícil de encontrar: Hay que establecer la variable de entorno MACOSX_DEPLOYMENT_TARGET a 10.14 para Mojave y probablemente 10.15 para Catalina, así

export MACOSX_DEPLOYMENT_TARGET=10.14

Gracias a @ChristophSchmidl que dio esta pista en:

https://github.com/ccxt/ccxt/issues/3710#issuecomment-575627844

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