[解決済み] CUDAは私のgccのバージョンと互換性がありません。
2022-07-30 02:30:02
質問
CUDA SDK に同梱されている例のいくつかをコンパイルするのに問題があります。 私は開発者用ドライバー (バージョン 270.41.19) と CUDA ツールキットをインストールしました。 そして最後に SDK (両方とも 4.0.17 バージョン) をインストールしました。
当初は、全く与えてもコンパイルされませんでした。
error -- unsupported GNU version! gcc 4.5 and up are not supported!
81:/usr/local/cuda/include/host_config.hで責任行を見つけ、それを変更しました。
//#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 6)
で止まってしまい、それ以降はいくつかのサンプルしかコンパイルできませんでした。
In file included from /usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr.h:162:0,
from /usr/include/c++/4.6/ext/atomicity.h:34,
from /usr/include/c++/4.6/bits/ios_base.h:41,
from /usr/include/c++/4.6/ios:43,
from /usr/include/c++/4.6/ostream:40,
from /usr/include/c++/4.6/iterator:64,
from /usr/local/cuda/include/thrust/iterator/iterator_categories.h:38,
from /usr/local/cuda/include/thrust/device_ptr.h:26,
from /usr/local/cuda/include/thrust/device_malloc_allocator.h:27,
from /usr/local/cuda/include/thrust/device_vector.h:26,
from lineOfSight.cu:37:
/usr/include/c++/4.6/x86_64-linux-gnu/bits/gthr-default.h:251:1: error: pasting "__gthrw_" and "/* Android's C library does not provide pthread_cancel, check for
`pthread_create' instead. */" does not give a valid preprocessing token
make[1]: *** [obj/x86_64/release/lineOfSight.cu.o] Error 1
いくつかのサンプルはコンパイルできるので、これはドライバの問題ではなく、サポートされていないgccのバージョンに関係するものだと思われます。gcc4.6 はこの時点でシステム全体を依存関係として持っているので、ダウングレードはオプションではありません...。
どのように解決するのですか?
すでに指摘されているように、nvcc は gcc 4.4 に依存しています。nvcc をインストールした際に作成される bin ディレクトリにソフトリンクを追加することにより、コンパイラー パラメーターを渡すことなく正しいバージョンの gcc を使用するように nvcc を構成することができます。
デフォルトの cuda バイナリ ディレクトリ (インストール時のデフォルト) は /usr/local/cuda/bin で、このディレクトリから gcc の正しいバージョンへのソフトリンクを追加すれば十分です。
sudo ln -s /usr/bin/gcc-4.4 /usr/local/cuda/bin/gcc
関連
-
[解決済み】ファイル形式が認識されない。GCCを使用してリンカスクリプトとして扱う
-
[解決済み】g++ output: file not recognized: ファイル形式が認識されない
-
[解決済み] g++ 出力: ファイルが認識されません。ファイル形式が認識されない
-
[解決済み] 警告: 異なるサイズの整数への/からのポインタへのキャスト
-
[解決済み] OSX 10.9にXcodeをインストール - clang: エラー: 入力ファイルがありません。
-
[解決済み] gcc/g++とcc1/cc1plusの違いは何ですか?
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] CUDAバージョンの取得方法を教えてください。
-
[解決済み] CMakeに新しいGCCのパスを指定する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】valgrindエラーの解釈 サイズ4の無効な書き込み
-
[解決済み】警告:イニシャライザーの周りに中括弧がないことを修復する方法?
-
[解決済み] g++ 出力: ファイルが認識されません。ファイル形式が認識されない
-
[解決済み] gcc/g++とcc1/cc1plusの違いは何ですか?
-
[解決済み] コンパイル時に127のエラーが発生する。
-
[解決済み] gcc エラー:間違った ELF クラスです。ELFCLASS64
-
[解決済み] OSX 10.9にXcodeをインストール - clang: エラー: 入力ファイルがありません。
-
[解決済み] コンパイル時に127のエラーが発生する。
-
[解決済み] CFLAGS, CCFLAGS, CXXFLAGS - これらの変数はいったい何を制御しているのでしょうか?
-
[解決済み] ライブラリヘッダからのGCC警告を抑制する方法は?