2017年8月18日 星期五

The version ('80100') of the host compiler ('Apple clang') is not supported

之前《安裝CUDA到Mac上》,後來更新了Xcode版本以後再度編譯Nvidia samples,出現了下面的錯誤訊息:
/Developer/NVIDIA/CUDA-8.0/bin/nvcc -ccbin clang++ -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.cppnvcc 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).nvcc fatal   : The version ('80100') of the host compiler ('Apple clang') is not supported make: *** [deviceQuery.o] Error 1
看起來是新版的Xcode裡面的Apple clang版本相沖Nvidia CUDA Toolkit:
  • Xcode 8.3.3 配上 Command Line Tools (macOS 10.12) for Xcode 8.3
  • CUDA Driver Version: 8.0.90(從8.0.61安裝patch升級上來)
測試過Xcode 9 beta版與各種不同版本的Command Line Tools以後,終於找到可以互相配合正常工作的版本:
  • Xcode 8.0 (8A218a) 配上 Command_Line_Tools_macOS_10.12_for_Xcode_8 (8.0)
  • CUDA Driver Version: 8.0.90(從8.0.61安裝patch升級上來)

上面所述的Xcode 8.0,請到Apple Developer裡面申請帳號,再下載此兩個檔案:
  1. Xcode_8.xip
  2. Command_Line_Tools_macOS_10.12_for_Xcode_8.dmg
第1個是Xcode 8.0,解開後請放到/Applications下面
第2個則是Command Line Tools 8.0,請開啟Xcode > Preferences > Locations > Command Line Tools:去選擇 Xcode 8.0 (8A218a)

上述的解法安裝的Macintosh系統是macOS Sierra 10.12.6
_EOF_

沒有留言:

張貼留言