web-dev-qa-db-fra.com

Rétablir la version Apple Clang pour NVCC

J'essaie de lancer NVCC pour compiler un programme CUDA sur mon Mac.

Lorsque j'essaie d'exécuter NVCC, le message d'erreur suivant s'affiche: "nvcc fatal: la version ('70300') du compilateur hôte (" Apple clang ") n'est pas prise en charge".

J'ai récemment mis à jour ma version XCode vers 7.3 et mon Mac vers 10.11.4.

Existe-t-il un moyen de rétablir ma version Clang?

30
  1. Accédez à https://developer.Apple.com/downloads/ , connectez-vous puis téléchargez http://adcdownload.Apple.com/Developer_Tools/Command_Line_Tools_OS_X.11.10 pour_Xcode_7.2/Command_Line_Tools_OS_X_10.11. dmg , et installer, comme suggéré par fabregaszy.
  2. Exécutez la commande suivante pour passer à l'ancienne version: Sudo xcode-select --switch /Library/Developer/CommandLineTools
  3. Exécutez la commande suivante pour vérifier rapidement la version de Clang: clang --version
40
szha

La réponse acceptée indique de télécharger les derniers outils de ligne de commande et de les installer, puis de les sélectionner en tapant dans la console.

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

On lui a demandé comment revenir à la version originale des outils. Ceci est réalisé par

Sudo xcode-select --switch /Applications/Xcode.app
7
Hugues TALBOT

Je viens d'avoir le même problème après la mise à niveau vers XCode 7.3 sur 10.11. La réinstallation des outils de ligne de commande précédents (7.2) n'a pas rétrogradé le compilateur clang par défaut. Pour résoudre ce problème, j'ai utilisé un ancien paquet XCode.app pour renommer et copier le répertoire XcodeDefault.xctoolchain dans le directeur Toolchains du fichier /Applications/Xcode.app actuel. Vous devez cliquer avec le bouton droit de la souris sur Xcode.app pour "Afficher le contenu du paquet", puis rechercher le répertoire Chaînes d'outils.

 enter image description here

Puis (re) démarrez Xcode, appuyez sur commande-, pour afficher les préférences, puis allez dans les emplacements. Vous verrez le menu déroulant pour les outils de ligne de commande. Changez ceci en la version de la chaîne d’outils que vous avez copiée.

 enter image description here

Vous pouvez vérifier la version par défaut de Clang dans Terminal:

clang -v OR llvm-gcc -v

Maintenant, nvcc devrait fonctionner

7
adon

Je suis entré dans le même problème.

Je pense aux anciens outils de ligne de commande téléchargeables à partir de https://developer.Apple.com/downloads/

peut résoudre ce problème.

Mis à jour:

J'ai téléchargé à partir du lien ci-dessous et installé, la version de clang a été rétablie avec succès vers Apple LLVM version 7.0.2 clang-700. Mais gardez un œil sur votre version d’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

4
fabregaszy

80100 peut fonctionner avec certains programmes nvcc

J'ai utilisé "80100" et nvcc travail pour certains de mes autres programmes.

... mais pas échantillon

`

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

`

installer CLT 8.2 (outil de ligne de commande d’Apple) c’est un peu correct avec un message sur «instance d’outils de ligne de commande»

Je recherche une discussion à ce sujet sur google ( https://github.com/arrayfire/arrayfire/issues/1384 ) à propos du problème nvcc avec array array et grâce au conseil de passer à CLT 8.2, dernière version non actuelle. C'est un peu correct avec un message d'avertissement sur "l'instance des outils de ligne de commande"

Besoin d'utiliser "Sudo make" pour compiler un exemple de code:

` ... $ Sudo make Mot de passe:

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)
...

`

1
Dennis Ng

Malheureusement, l'installation des outils de ligne de commande à partir de la version 7.2 de X-code. actuellement ne résout pas ce problème.

Essayer de compiler les résultats en:

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

L'astuce pour moi était de désinstaller Xcode 7.3 et d'installer Xcode 6.2 à partir du site de développement Apple.

1
Jörg

Renommez Xcode dans votre mac sous le nom Xcode-7.app du dossier/Applications . Téléchargez Xcode6.4 à partir de https://developer.Apple.com/download/more/ et installez-le.

1
albertxavier