このエントリーをはてなブックマークに追加 hatena-bookmark fb-like g-plusone
line-it
pocket
  • 作成日時:
  • 更新日時:

nvidia-cuda-sdk-9.0.176がglibc-2.26-r5でビルドできない問題の解決方法

nvidia-cuda-sdk-9.0.176をglibc-2.26-r5環境でビルドしようとすると,

/usr/include/bits/floatn.h(61): error: invalid argument to attribute "__mode__"
/usr/include/bits/floatn.h(73): error: identifier "__float128" is undefined

のようなビルドエラーになります.

これを正攻法で解決するのは無理そうだったので,/usr/include/bits/floatn.hの冒頭に書いてある

#if (defined __x86_64__                                                       \
     ? __GNUC_PREREQ (4, 3)                                            \
     : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
# define __HAVE_FLOAT128 1
#else
# define __HAVE_FLOAT128 0
#endif

# define __HAVE_FLOAT128 0

に置換しました.

junkdrawer overlayだとnvidia-cuda-sdk-9.1.85を配布しているようなので,もしかしたらそちらだと問題ないのかもしれません.そっちが正攻法なのかも.

どうせそのうちgentooの公式リポジトリにもcuda 9.1が載ると思うので,今回はバッドノウハウを使いました.

このエントリーをはてなブックマークに追加 hatena-bookmark fb-like g-plusone
line-it
pocket