Utilice Homebrew LLVM sobre Xcode


1

Estoy intentando compilar un paquete algoritmo recibido por otra persona. Básicamente todo lo que necesita hacer es ejecutar un script bash y todo se compilará automáticamente. Ahora al ejecutar la secuencia de comandos, consigo una gran cantidad de errores, tales como:

clang: error: unsupported option '-fopenmp'

Tengo entendido que Apple LLVM no es compatible con OpenMPI, así que lo que hice fue instalar la versión más reciente de gcc al instalar LLVM (versión 4.0) a través de Homebrew. Intenté agregar esto a mi perfil de bash agregando lo siguiente (que se encuentra en la web: disculpas, este no es el terreno de mi casa):

# export PATH=/usr/local/opt/llvm/bin:$PATH
# export CPLUS_INCLUDE_PATH=$(llvm-config --includedir):$CPLUS_INCLUDE_PATH 
# export LD_LIBRARY_PATH=$(llvm-config --libdir):$LD_LIBRARY_PATH 

Pero lamentablemente esto no funcionó. Recibo los mismos errores y descubrí que mi computadora todavía usa el Clang:

$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

¿Alguien sabe qué hacer? No puedo usar otro instalador especificando la versión, ya que es un script bash largo, y no sabría qué cambiar dónde.


Al ver los comentarios posteriores y también a las variables de su entorno, creo que necesitamos ver el script para responder a esto. ¿Sabe también que la aplicación funciona en OSX? (LD_LIBRARY_PATH es sospechoso)
Mark

Respuestas:


1

Cambia la secuencia de comandos, o, mejor, utilice un archivo de compilación del sistema, cmake, waf, etc. para tener la ruta completa al compilador de C ++ y no depender de $ PATH.

Como alternativa, la vista del paquete se ha portado a Homebrew y se usa para que, o solo para fink o MAcPorts, se vea cómo cambiaron el script.

Por último, haga la compilación como una fórmula de Homebrew haciendo uso de las propias herramientas de compilación de Homebrew


No estoy familiarizado con g ++, por lo que mi pregunta realmente se refiere a cómo cambiar el compilador que se usa de forma predeterminada.
falidoro

Esa es una pregunta muy amplia: depende del método de compilación; la mayoría de los scripts no dependen de la RUTA. Muchos usamos la variable de entorno $ CC para apuntar al compilador de C ++.
Mark

-1

No lo pensé bien, pero ¿intentaste "crear enlace - forzar" LLVM?

Compruebe los compiladores actuales, por ejemplo,

iMac:~ sir$ which gcc-6
/usr/local/bin/gcc-6
iMac:~ sir$ which gcc
/usr/bin/gcc

entonces, por ejemplo

ln -s /usr/local/bin/gcc-6 /usr/bin/gcc

usted podría tener que sudo.


Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación. - De la opinión
Allan

¿Qué quieres decir? No es una solicitud de aclaración. Es una respuesta: hacer "brew link --force gcc"
user2707001

Por favor no hagas eso. Editaste tu publicación de ser una pregunta a una declaración declarativa. Si se está preguntando, puede ver el historial de edición haciendo clic en el enlace "editado (hace algún tiempo)" al final de su publicación. Dicho esto, la "respuesta" todavía es corta en detalles como por qué ¿Debería el OP hacer esto?
Allan

1
Te recomiendo que tomes el Excursión para que tengas una idea de cómo funciona este sitio; Es evidente que no eres consciente.
Allan

1
Esto no resuelve el problema por desgracia. g++ --version Todavía me da el Apple LLVM
falidoro
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.