-fopenmp не включает omp.h на Amazon Linux? - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь скомпилировать тестовую программу openmp на экземпляре Amazon AWS t2.micro. Кажется, есть проблемы. При попытке скомпилировать эту программу Hello World hello компилятору не удается найти omp.h, несмотря на использование gcc hello_world.c -fopenmp.

После этого я попытался запустить locate omp.h и нашел его в /usr/lib/gcc/x86_64-amazon-linux/4.8.5/include. Затем я попытался скомпилировать, включив этот каталог с gcc -I. Затем компилятору все еще требовался libgomp.spec, который был обнаружен и решен в этом вопросе переполнения стека.

После того, как там был получен самый голосующий ответ, создание символических ссылок ничего не сделало для меня и все равно говорит error: libgomp.spec: No such file or directory, хотя libgomp.spec находится в моем каталоге /usr/lib64.

Итак, что я могу сделать, чтобы это исправить, и почему -fopenmp не работает на amazon linux, как ожидалось? Это делается на экземпляре, который был создан CfnCluster, если это помогает.

1 Ответ

0 голосов
/ 09 января 2019

Как обычно, заголовочные файлы, такие как omp.h, поставляются с соответствующей версией компилятора gcc. Когда компилятор не может найти файл заголовка, я полагаю, вы используете компилятор другой версии (в данном случае, кроме 4.8.5).

Вы можете найти все версии gcc, набрав:

sudo yum list installed | grep gcc

Если есть другие версии gcc, такие как gcc72, вы можете стереть их:

sudo yum erase gcc72

После этого вы успешно скомпилируете код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...