Сбой CUDA 8 nvcc на macOS Sierra с ошибками в stdio.h, stdlib.h и других заголовках

У меня есть машина Mac dev, на которой установлены 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

person w-m    schedule 19.10.2016    source источник


Ответы (1)


Я загрузил и переустановил Command Line Tools (OS X 10.11) for Xcode 7.3.1, который, похоже, был поврежден в результате обновления ОС.

nvcc 8.0 теперь работает как положено.

person w-m    schedule 19.10.2016
comment
Хотите уточнить, как вы их удалили? Просто rm -fr /Library/Developer/CommandLineTools/ или что-то еще? Я пробовал таким образом, но все равно получаю ошибки выше. Хотя это при полной переустановке sierra. - person Toby; 02.11.2016
comment
Я повторно установил их. Ничего не удалял, просто заново запустил установщик. В названии написано OS X 10.11, но на 10.12 он устанавливается нормально. - person w-m; 03.11.2016