web-dev-qa-db-ja.com

復帰Apple NVCCのClangバージョン

MacでNVCCを実行してCUDAプログラムをコンパイルしようとしています。

NVCCを実行しようとすると、次のエラーが表示されます。「nvcc fatal:ホストコンパイラ( 'Apple clang')のバージョン( '70300')はサポートされていません」。

XCodeバージョンを7.3に、Macを10.11.4に最近更新しました。

Clangバージョンを元に戻す方法はありますか?

31
  1. https://developer.Apple.com/downloads/ に移動し、ログインしてからダウンロードします 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 、およびインストール(fabregaszyによって提案されたとおり)。
  2. 次のコマンドを実行して、古いバージョンに切り替えます:Sudo xcode-select --switch /Library/Developer/CommandLineTools
  3. 次のコマンドを実行して、clangのバージョンをすばやく確認します:clang --version
43
szha

受け入れられた答えは、最新のコマンドラインツールをダウンロードしてインストールし、コンソールに入力して選択することを言っています

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

ツールの元のバージョンに戻す方法を尋ねられました。これは以下によって達成されます

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

10.11でXCode 7.3にアップグレードした後、同じ問題が発生しました。以前の(7.2)コマンドラインツールを再インストールしても、デフォルトのclangコンパイラはダウングレードされませんでした。これを修正するために、以前のXCode.appパッケージを使用して、XcodeDefault.xctoolchainディレクトリの名前を変更し、現在の/Applications/Xcode.appのToolchainsディレクターにコピーしました。 Xcode.appを右クリックして「パッケージの内容を表示」し、Toolchainsディレクトリを参照する必要があります。

enter image description here

次に、Xcodeを(再)起動し、command-を押して設定を行い、場所に移動します。コマンドラインツールのドロップダウンが表示されます。これを、コピーしたツールチェーンのバージョンに変更します。

enter image description here

ターミナルでclangのデフォルトバージョンを確認できます。

clang -v OR llvm-gcc -v

今nvccは動作するはずです

7
adon

私は同じ問題に遭遇しました。

https://developer.Apple.com/downloads/ からダウンロードできる古いコマンドラインツールだと思います

この問題を解決する可能性があります。

更新:

以下のリンクからダウンロードしてインストールすると、clangバージョンはApple LLVMバージョン7.0.2 clang-700に正常に戻りました。ただし、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

Homebrewのllvmバージョンを試してみると、うまくいきます。 brew install llvm37

次に、コンパイラをhomebrewのclangに設定します:/usr/local/bin/clang++-3.7またはwhich clang++-3.7に応答するもの

そうすれば、OS X開発環境をデフォルトのままにすることができます。

1

80100は一部のnvccプログラムで動作可能

私は「80100」を使用し、他のプログラムの一部でnvccを使用しました。

...しかし、サンプルではありません

`

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

`

cLT 8.2(Appleのコマンドラインツール)をインストールします

私はグーグルでこれについての議論を見る( https://github.com/arrayfire/arrayfire/issues/1384アレイ火災nvcc問題について CLT 8.2に切り替えます。最新バージョンではありません。 「コマンドラインツールのインスタンス」に関する警告メッセージが表示されるのはまあまあです

「Sudo make」を使用してサンプルコードをコンパイルする必要があります。

`... $ Sudo make Password:

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

残念ながら、X-codeバージョン7.2からコマンドラインツールをインストールしています。現在、これを解決していません。

結果をコンパイルしようとすると:

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

私にとってのトリックは、Xcode 7.3をアンインストールし、Apple開発者サイトからXcode 6.2をインストールすることでした。

1
Jörg

Xcodeの名前を変更するには、Macの/ ApplicationsフォルダーにXcode-7.appを指定します。次に、Xcode6.4を https://developer.Apple.com/download/more/ からダウンロードしてインストールします。

1
albertxavier

同じ問題がありました! Time Machineバックアップを見て、/ ApplicationフォルダーにXcode.app(7.2.1)をコピーしました。また、Apple Developer Pageからダウンロードして、/ Applicationフォルダーに移動することもできます。完了したら、Xcodeの環境設定でXcodeコマンドラインバージョンを7.2.1に変更できます。 nvccは再び動作します(pycuda-2016.1でも)。

_clang --version_

私に与えます:

Apple LLVM version 7.0.2 (clang-700.1.81)

0
domlue