Estoy tratando de ejecutar NVCC para compilar un programa CUDA en mi Mac.

Cuando intento ejecutar NVCC, estoy recibiendo el siguiente error: «nvcc fatal : La versión (‘70300’) del host en el compilador (‘Apple clang’) no es compatible».

Recientemente he actualizado mi versión de XCode a 7.3, y mi Mac a 10.11.4.

Hay alguna forma de volver a mi Clang Versión?

9 Comentarios

  1. 43
    1. Ir a https://developer.apple.com/downloads/, de registro y, a continuación, descargar http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2.dmg, e instalar, como fue sugerido por fabregaszy.
    2. Ejecute el siguiente comando para cambiar a la versión anterior:
      sudo xcode-select --switch /Library/Developer/CommandLineTools
    3. Ejecute el siguiente comando para comprobar rápidamente clang versión:
      clang --version
    • Gracias! Por cierto, si ya has hecho una actualización a 8.0 antes de que usted no tiene que hacer el paso (1), usted puede simplemente ejecutar el segundo comando aquí. Que trajo a mi clang a 7.3 y funcionan las cosas ahora.
    • Este ‘trabajo’ pero mi instalación (de cutorch) todavía estaba fallando. Lo que me faltaba era que me había versiones en caché sigue dando vueltas. En mi caso, no me hubiera make clean/clean.sh. Gracias a subzerofun en github – github.com/torch/cutorch/issues/522#issuecomment-252517776
    • Esto funcionó en mi mac 10.12.5 (sierra). Enlace A la CMT 7.3 Gracias
    • ¿cómo se cambia de nuevo 🙂
    • Este reverts, no cambiar a una versión específica, y sólo es pertinente para este caso específico. Se puede proporcionar una solución más general?
  2. 7

    Yo sólo tenía el mismo problema después de actualizar a XCode 7.3 en 10.11. La reinstalación de la anterior (7.2) herramientas de línea de comandos no rebaja el valor predeterminado de estruendo del compilador. Para solucionar esto he utilizado un anterior XCode.paquete de la aplicación para renombrar y copiar el XcodeDefault.xctoolchain directorio en el Toolchains director en el actual /Aplicaciones/Xcode.app. Usted tiene que hacer clic derecho en Xcode.aplicación para «Mostrar contenido del paquete», a continuación, vaya a la Toolchains dir.

    Volver Apple Clang Versión Para NVCC

    A continuación, (re)inicio de Xcode, pulse comando-, de preferencias, a continuación, ir a los lugares. Verá el menú desplegable de Herramientas de Línea de Comandos. Cambiar a la versión de la cadena de herramientas copió.

    Volver Apple Clang Versión Para NVCC

    Puede comprobar la versión predeterminada de ruido en la Terminal:

    clang -v OR llvm-gcc -v

    Ahora nvcc debe trabajar

    • Puedes por favor decirme donde conseguiste el anterior xCode.aplicación? Cuando me la baje desde el sitio de Apple, es un paquete de instalación, y no quiero ser instalado en mi sistema.
    • inicie sesión en su cuenta de desarrollador de apple, a continuación, haga clic aquí: developer.apple.com/downloads este sitio tiene el legado de xcode dmgs. Por lo menos a 6.4 contiene el Xcode.archivo de aplicación.
    • Sí, gracias, ya imaginé que fuera. Traté de engañar y descargar las herramientas de línea de comandos, pero eran instalable paquete, así que no podía extraer sonido de ellos.
  3. 7

    La aceptada respuesta dice a descargar el siguiente a la última línea de comandos y herramientas de instalación, a continuación, seleccione escribiendo en la consola

    sudo xcode-select --switch /Library/Developer/CommandLineTools

    Ha sido la pregunta de cómo volver a la versión original de las herramientas. Esto se logra mediante la

    sudo xcode-select --switch /Applications/Xcode.app
  4. 4

    Me vino en el mismo problema.

    Creo que las viejas herramientas de línea de comandos que puede ser descargado desde
    https://developer.apple.com/downloads/

    puede resolver este problema.

    Actualizado:

    He descargado desde el enlace de abajo y se instala, el ruido de la versión con éxito fue revertido a Apple LLVM versión 7.0.2 clang-700. Pero, por favor, mantener un ojo en la versión de OS X.

    http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2/Command_Line_Tools_OS_X_10.11_for_Xcode_7.2.dmg

    • Cuando hago clic en esta página, dice que no puede ser encontrado. Hay una más hasta la fecha?
    • Parece que usted necesita para iniciar sesión con una cuenta de desarrollador de apple a través de developer.apple.com/downloads
  5. 1

    Me gustaría tratar de homebrew de la versión de llvm, a mí me funciona.
    brew install llvm37

    A continuación, establezca el compilador de homebrew del ruido:
    /usr/local/bin/clang++-3.7 o lo que sea respondes a
    which clang++-3.7

    De esa manera, usted puede dejar su OS X dev el entorno por defecto como son.

    • ¿Cómo se establece el compilador de homebrew del ruido? He intentado poner /usr/local/bin primero en mi CAMINO y configuración de ln -s clang++-3.7 clang pero me sale el mismo error.
    • No me duro-link usando brew, es complicado, por decir lo menos. Cambiar su «configurar» o «cmake» variables a utilizar el compilador en el Sótano. Mi camino a clang es /usr/local/Bodega/llvm37/3.7.1/bin/clang++-3.7. Variables comunes son CMAKE_CXX_COMPILER y CUDA_HOST_COMPILER para cmake.
    • ln -s clang++-3.7 clang puntos «clang++-3.7» A «sonido» – no le hace ningún bien. La vinculación es DE -> A, no vice-versa. También, sus enlaces puede ser relativa o absoluta – prefiero absoluta, pero no el uso de enlaces simbólicos en este caso.
    • Esta es la única respuesta sensata aquí, debería tener más upvotes
  6. 1

    Por desgracia, la instalación de Herramientas de Línea de Comandos de X-código de la versión 7.2. en la actualidad no es la solución de este.

    Tratando de compilar los resultados en:

    nvcc fatal : GNU C/C++ compiler is no longer supported as a host compiler on Mac OS X.

    Lo que hizo el truco para mí, fue para desinstalar Xcode 7.3 e instalar Xcode 6.2 desde el sitio para desarrolladores de Apple.

    • Es esta tu respuesta o de otra pregunta?
    • Sustituye a la pregunta con la solución que he encontrado. Gracias.
  7. 1

    Cambiar el nombre de Xcode existe en tu mac como Xcode-7.aplicación en la carpeta /Applications.
    A continuación, descargue Xcode6.4 de https://developer.apple.com/download/more/ e instalarlo.

    • extrañamente esto funcionó para mí. Tuve varias versiones de xcode en mi equipo, pero yo necesitaba para cambiar el nombre de la original para el xcode-comando select para seleccionar realmente la mayor compilador.
  8. 1

    80100 puede trabajar con algunos nvcc programas

    He utilizado «80100» y nvcc de trabajo para algunos de mis otros programas.

    … pero no muestra

    `

    ...
    nvcc fatal   : The version ('80100') of the host compiler ('Apple clang') is not supported
    ...

    `

    instalar CLT 8.2 (herramienta de línea de Comandos de Apple) es una especie de aceptar con mensaje acerca de «herramientas de línea de comandos instancia»

    I google y ver una discusión sobre este (https://github.com/arrayfire/arrayfire/issues/1384) acerca de la matriz de fuego nvcc problema y gracias a la sugerencia de cambiar a CLT 8.2, la última versión no actual. Es una especie de aceptar con mensaje de advertencia acerca de «herramientas de línea de comandos instancia»

    Necesidad de utilizar «sudo make» para compilar código de ejemplo:

    `

    $ sudo make
    Contraseña:

    xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
    expr: syntax error
    /Developer/NVIDIA/CUDA-8.0/bin/nvcc -ccbin g++ -I../../common/inc  -m64  -Xcompiler -arch -Xcompiler x86_64  -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o deviceQuery.o -c deviceQuery.cpp
    nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
    /Developer/NVIDIA/CUDA-8.0/bin/nvcc -ccbin g++   -m64  -Xcompiler -arch -Xcompiler x86_64  -Xlinker -rpath -Xlinker /Developer/NVIDIA/CUDA-8.0/lib  -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o deviceQuery deviceQuery.o 
    nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
    mkdir -p ../../bin/x86_64/darwin/release
    cp deviceQuery ../../bin/x86_64/darwin/release
    $ ./deviceQuery
    ./deviceQuery Starting...
    CUDA Device Query (Runtime API) version (CUDART static linking)
    Detected 1 CUDA Capable device(s)
    ...

    `

    • nvcc fatal : La versión (‘80100’) del host en el compilador (‘Apple clang’) no es compatible. También estoy teniendo este error en OS X 10.12.4, Xcode 8.3 cuando se compila la 3ª parte de lib (PCL) hay soluciones que nadie sabe? Yo he probado la versión diferente de CLT con eso.
  9. 0

    Tuve el mismo problema!
    Miré en mi Máquina del Tiempo de las Copias de seguridad y copiar Xcode.aplicación (7.2.1) en mi /carpeta de la Aplicación. También puede descargar desde la Página de Desarrolladores de Apple y moverlo a la carpeta de la Aplicación.
    Después de que haya terminado, usted puede cambiar el Xcode Versión de Línea de Comandos en sus Preferencias de Xcode para 7.2.1
    Luego nvcc va a trabajar de nuevo (incluso con pycuda-2016.1).

    clang --version

    me da:

    Apple LLVM version 7.0.2 (clang-700.1.81)

Dejar respuesta

Please enter your comment!
Please enter your name here