CUDA 8 nvcc не работает на macOS Sierra с ошибками в stdio.h, stdlib.h и других заголовках
У меня есть компьютер Mac, на котором установлены Xcode 7.3.1 и Xcode 8.0.
После обновления до CUDA 8 я настроил систему на использование инструментов командной строки Xcode 7.3.1, поскольку инструменты командной строки Xcode 8 в настоящее время не поддерживаются nvcc 8.0.
После обновления ОС с OS X 10.11 El Capitan до macOS 10.12 Sierra я больше не могу скомпилировать программу hello world с CUDA 8.
Компиляция завершается неудачно, выходные данные содержат сотни строк заголовков /usr/include, начиная с:
/usr/include/stdio.h(133): error: expected a ")"
/usr/include/stdio.h(134): error: expected a ")"
/usr/include/stdio.h(134): error: "_Nullable" has already been declared in the current scope
1 ответ
Я скачал и переустановил Command Line Tools (OS X 10.11) for Xcode 7.3.1
которые, похоже, были повреждены при обновлении ОС.
nvcc 8.0 теперь работает как задумано.