Как установить openmp mac os

Обновлено: 06.07.2024

How can I get OpenMP to run on Mac OSX 10.11, so that I can execute scripts via terminal?

I have installed OpenMP: brew install clang-omp .

When I run, for example: gcc -fopenmp -o Parallel.b Parallel.c the following expression returns: fatal error: 'omp.h' file not found

I have also tried: brew install gcc --without-multilib but unfortunately this eventually returned the following (after first installing some dependencies):

Any recommended work arounds?

6 answers

Установка GCC с помощью варево.

установлен Check НКУ.

Изменение CMake Cxx компилятор.

Может быть, это поможет вам.

1. Установить GCC

brew reinstall gcc --without-multilib

2. Compile

gcc-8 -Wall -fopenmp your-parallel-program.c

Обратите внимание на GCC-8 часов версия заварить устанавливает, ваш может быть НКУ-7 или НКУ-9

==> Pouring gcc-8.2.0.high_sierra.bottle.1.tar.gz 🍺 /usr/local/Cellar/gcc/8.2.0: 1,495 files, 344.8MB

На макинтош, команда GCC является символической ссылкой на Clang. Так, позвонив gcc -fopenmp -o your_program your_program.c вам на самом деле с помощью Clang, который до сих пор не было встроенной поддержкой OpenMP.

Более новые версии Clang действительно имеют поддержку OpenMP в соответствии с этой должности (где вы также можете найти инструкции о том , как установить его).

С другой стороны, если вы все еще хотите использовать GCC, я могу вести вас через шаги, которые работали для меня.

Установка GCC с варевом. Команда, которую вы использовали должно работать: brew install gcc --without-multilib

С другой стороны, если заварить говорит, что вы уже установили GCC, вы можете попробовать brew reinstall gcc --without-multilib

Как вы заметили, если вы не укажете --without-multilib заварить предупреждает, что OpenMP может не работать.

Найти местоположение вновь установленного НКУ. Brew добавляет номер версии к НКУ , так что он не конфликтует с одной установленной с помощью инструментов командной строки. Вы найдете в символическую ссылку usr/local/bin . В моем случае это usr/local/bin/gcc-5 . Если щелкнуть правой кнопкой мыши и выбрать «Показать оригинал» он должен показать исполняемый файл GCC-5 в /usr/local/Cellar/gcc/5.3.0/bin/gcc-5 (номер версии может отличаться).

Теперь вы должны сказать вашей системе об этом. При вызове компилятора ваш Баш будет выглядеть в /usr/bin по умолчанию , а не в /usr/local/bin . Вы должны добавить этот каталог в $ PATH . Это можно легко сделать с помощью команды:

Теперь вы должны быть в состоянии компилировать с поддержкой OpenMP с помощью:

gcc-5 -fopenmp -o your_program your_program.c

Примечание: НКА-5 является версией, которую я установил, у вас может отличаться.

Как я могу заставить OpenMP работать на Mac OSX 10.11, чтобы я мог выполнять сценарии через терминал ?

Я установил OpenMP: brew install clang-omp .

Например, при запуске: gcc -fopenmp -o Parallel.b Parallel.c возвращает следующее выражение: fatal error: 'omp.h' file not found

Я также попытался: brew install gcc --without-multilib , но, к сожалению, это в конечном итоге вернуло следующее (после первой установки некоторых зависимостей):

Любые рекомендуемые обходные пути?

На Mac команда gcc является символической ссылкой на Clang. Таким образом, вызывая gcc -fopenmp -o your_program your_program.c , вы фактически используете Clang, который до сих пор не имел встроенной поддержки OpenMP.

Более новые версии Clang поддерживают OpenMP в соответствии с this post (где вы также можете найти инструкции по его настройке).

С другой стороны, если вы все еще хотите использовать gcc, я могу провести вас через шаги, которые работали для меня.

Установите GCC с Brew. Команда, которую вы использовали, должна работать: brew install gcc --without-multilib

В качестве альтернативы, если brew говорит, что у вас уже установлен gcc, вы можете попробовать brew reinstall gcc --without-multilib

Как вы могли заметить, если вы не укажете --without-multilib , brew предупредит вас, что OpenMP может не работать.

Найдите местоположение недавно установленного gcc. Brew добавляет номер версии к gcc, чтобы он не конфликтовал с номером, установленным с помощью инструментов командной строки. Вы найдете символическую ссылку в usr/local/bin . В моем случае это usr/local/bin/gcc-5 . Если щелкнуть правой кнопкой мыши и выбрать «Показать оригинал», он должен показать исполняемый файл gcc-5 в /usr/local/Cellar/gcc/5.3.0/bin/gcc-5 (номера версий могут отличаться).

Теперь вам нужно рассказать об этом вашей системе. При вызове компилятора ваш bash будет смотреть на /usr/bin по умолчанию, а не на /usr/local/bin . Вам нужно добавить этот каталог в ваш $ PATH. Это легко сделать с помощью команды:

Теперь вы сможете компилировать с включенным OpenMP, используя:

gcc-5 -fopenmp -o your_program your_program.c

Примечание: gcc-5 - это версия, которую я установил, ваша может отличаться.

Как я могу заставить OpenMP работать на Mac OSX 10.11, чтобы я мог выполнять скрипты через terminal ?

Я установил OpenMP: brew install clang-omp .

Когда я запускаю, например: gcc -fopenmp -o Parallel.b Parallel.c , возвращается следующее выражение: fatal error: 'omp.h' file not found

Я также пробовал: brew install gcc --without-multilib но, к сожалению, это в конечном итоге вернуло следующее (после первой установки некоторых зависимостей):

Какие-нибудь рекомендуемые обходные пути?

Сегодня я установил Apache ant на свой MAC OS X 10.11, используя Homebrew. Я увидел следующее предупреждение после запуска команды brew install ant на MAC terminal : - Предупреждение: ant-1.9.6 уже установлен,он просто не связан. Затем я попытался проверить, работает ли ant правильно или нет.

Я пытаюсь запустить Scilab 5.5.2 на Mac OS X после обновления до версии 10.11, и появляется предупреждающая обратная связь с этим текстом: эта версия Scilab, вероятно, потерпит неудачу в этой системе (10.11): Scilab требует 10.6.5 (Snow Leopard) или более новой системы. Я пытаюсь переустановить.

На mac команда gcc является символической ссылкой на Clang. Таким образом, вызывая gcc -fopenmp -o your_program your_program.c , вы фактически используете Clang, который до сих пор не имел встроенной поддержки OpenMP.

Более новые версии Clang действительно поддерживают OpenMP в соответствии с этим постом (где вы также можете найти инструкции по его настройке).

С другой стороны, если вы все еще хотите использовать gcc, я могу провести вас через шаги, которые сработали для меня.

Установите gcc с помощью brew. Команда, которую вы использовали, должна работать: brew install gcc --without-multilib

В качестве альтернативы, если brew говорит, что у вас уже установлен gcc, вы можете попробовать brew reinstall gcc --without-multilib

Как вы, возможно, заметили, если вы не укажете --without-multilib brew предупреждает Вас, что OpenMP может не сработать.

Найдите местоположение только что установленного gcc. Brew добавляет номер версии к gcc, чтобы он не конфликтовал с тем, который установлен средствами командной строки. Вы найдете символическую ссылку в usr/local/bin . В моем случае это usr/local/bin/gcc-5 . Если вы щелкнете правой кнопкой мыши и выберете "Show original", он должен показать исполняемый файл gcc-5 в /usr/local/Cellar/gcc/5.3.0/bin/gcc-5 (номера версий могут отличаться).

Теперь вам нужно рассказать об этом своей системе. При вызове компилятора ваш bash будет смотреть в /usr/bin по умолчанию, а не в /usr/local/bin . Вам нужно добавить этот каталог в свой $PATH . Это можно легко сделать с помощью команды:

Теперь вы должны иметь возможность компилировать с включенным OpenMP, используя:

gcc-5 -fopenmp -o your_program your_program.c

Примечание: gcc-5-это версия, которую я установил, ваша может отличаться.

убедитесь, что вы xcode инструмент командной строки

На самом деле у меня была одна ошибка при запуске примера кода openmp

Просто удалите из файла один пробел, который присутствует между __ и KAI

Теперь используйте команду

и запустите следующий код

Вы должны получить результат, похожий на этот

Работал на OS X 10.11.3 и с обновлением brew от 18 февраля 2016 года

1. Установите gcc

brew reinstall gcc --without-multilib

2. Компиляции

gcc-8 -Wall -fopenmp your-parallel-program.c

Обратите внимание на gcc-8 watch the version brew installs, ваш может быть gcc-7 или gcc-9

==> Pouring gcc-8.2.0.high_sierra.bottle.1.tar.gz /usr/local/Cellar/gcc/8.2.0: 1,495 files, 344.8MB

Я использую сервер PDFTK на OSX pre 10.11 уже более года без каких-либо проблем с запуском команд в командной строке. После установки бета-версии OSX 10.11 я больше не могу запускать какие-либо команды сервера PDFTK в командной строке. Он не выдает никаких ошибок,все команды, которые я пытаюсь.

Установите gcc, используя самогон.

Проверка gcc установлена.

Измените компилятор cmake cxx.

Может быть, это вам поможет.

После установки gcc:

Возможно, вам придется экспортировать CC, что работает для меня:

Это, может быть, gcc-7 или что-то еще.

Похожие вопросы:

Я пытаюсь установить MongoDB на свой компьютер под управлением Mac OS X 10.11 (El Capitan). Моя конфигурация Apache + PHP уже работала правильно. Я установил драйверы MongoDB и PHP для MongoDB -.

Я пытаюсь запустить приложение JAVA на моем MAC OS X 10.11 (El Capitan). Я использовал эту ссылку , чтобы установить JAVA_HOME на моем MAC OS X 10.11. Я могу выполнить следующие команды: java-версия.

Мой проект хорошо работает на Mac OSX 10.10/10.9, однако он работает неправильно в 10.11 с этим кодом: [(PDFAnnotationInk*)_activeAnnotation removeBezierPath:_path]; [_activeAnnotation.

Сегодня я установил Apache ant на свой MAC OS X 10.11, используя Homebrew. Я увидел следующее предупреждение после запуска команды brew install ant на MAC terminal : - Предупреждение: ant-1.9.6 уже.

Я пытаюсь запустить Scilab 5.5.2 на Mac OS X после обновления до версии 10.11, и появляется предупреждающая обратная связь с этим текстом: эта версия Scilab, вероятно, потерпит неудачу в этой.

Я использую сервер PDFTK на OSX pre 10.11 уже более года без каких-либо проблем с запуском команд в командной строке. После установки бета-версии OSX 10.11 я больше не могу запускать какие-либо.

из OS X 10.11 и iOS 9.0 Apple предоставила этот фреймворк контактам.

При разработке приложения OS X часто приходится развертывать multi Mac OS X. Это может быть легко, если у вас есть много памяти, чтобы купить количество Mac mini (например, некоторые изображения.

Я хотел бы использовать последнюю версию R на своем Mac (под управлением OS X 10.9). Проблема в том, что двоичные файлы предоставляются только для OS X 10.11 (El Capitan) и выше. Мой вопрос таков.

Я использую Mac OS X Sierra и обнаружил, что clang (LLVM версии 8.1.0 (clang-802.0.38)) не поддерживает OpenMP: когда я запускаю clang -fopenmp program_name.c , Я получил следующую ошибку:

clang: error: unsupported option '-fopenmp'

Вроде clang не поддерживает -fopenmp флаг.

Я не нашел ни одной библиотеки openmp в homebrew. Согласно веб-сайту LLVM, LLVM уже поддерживает OpenMP. Но я не мог найти способ включить его во время компиляции.

Означает ли это, что clang по умолчанию в Mac не поддерживает OpenMP? Не могли бы вы дать какие-нибудь предложения?

(Когда я переключаюсь на GCC для компиляции той же программы (gcc устанавливается с использованием brew install gcc --without-multilib ), и компиляция прошла успешно.)

  • Действительно, предоставленный Apple clang не поддерживает OpenMP.
  • 2 brew install llvm следует установить последнюю версию LLVM, то есть 4.0.0. Устраняет ли это проблему?
  • 1 Clang, предоставленный Apple, не поддерживает OpenMP по умолчанию. Можно включить эту функцию в clang, предоставляемом Apple, а также установить более новую версию clang, которая по умолчанию поддерживает OpenMP.
  • @IncreasinglyIdiotic Как его включить? нам просто нужно скомпилировать и установить среду выполнения openmp?
  • 2 @MarcusJ вам просто нужно brew install llvm libomp а затем обязательно используйте новый clang для компиляции с -fopenmp флаг

Попробуйте использовать llvm от Homebrew:

Затем у вас есть все двоичные файлы llvm в /usr/local/opt/llvm/bin . Например, чтобы скомпилировать программу OpenMP Hello World, введите

Возможно, вам также придется установить CPPFLAGS с участием -I/usr/local/opt/llvm/include .

Make-файл должен выглядеть так:

Обновить: В macOS 10.14 (Mojave) вы можете получить такую ​​ошибку, как

Если это произойдет, заголовки macOS SDK отсутствуют в /usr/include . Они переместились в сам SDK с Xcode 10. Установите заголовки в /usr/include с участием

Другие люди предложили одно решение (используя Homebrew llvm). Вы также можете использовать OpenMP с Apple Clang и Homebrew libomp ( brew install libomp ). Просто замените команду вроде clang -fopenmp test.c с участием clang -Xpreprocessor -fopenmp test.c -lomp .

  • Я пробовал, но не нашел omp.h для включения.
  • Если вы уверены, что установили libomp под Homebrew, вы можете спросить на форуме Homebrew discourse.brew.sh. В моем случае omp.h установлен в /usr/local/Cellar/libomp/10.0.0/include с символической ссылкой на / usr / local / include.
  • 1 Известно ли, почему Apple clang требует -Xpreprocessor флаг?

MacOS Mojave с CMake

Установите LLVM с помощью openmp и libomp с помощью brew

добавить каталоги включения и каталоги ссылок в CMakeList.txt

запустить CMake с новыми компиляторами

Версия clang на момент написания - 7.0.1

  • После попытки собрать Blender на macOS (у которой есть зависимость от libomp) в течение 3 дней, это решение, которое сработало для меня, хотя мои симптомы были немного другими. Для меня компиляция завершена, но были ошибки компоновщика об отсутствии символов x86_64 из библиотеки libomp. Это работало для Homebrew GCC 9.1.0 на момент этого комментария.
  • 2 Где находится CMakelists.txt ? У меня есть как минимум 6 файлов с таким названием.
  • Спасибо огромное! У меня работает в Clion и Mac OS 10.14.6
  • 1 Усовершенствованием этого ответа было бы использование brew --prefix llvm вместо того, чтобы предполагать / usr / local / opt / llvm. Что-то типа execute_process(COMMAND brew --prefix llvm OUTPUT_VARIABLE LLVM_PREFIX)
  • Можете добавить set(CMAKE_C_COMPILER '/usr/local/opt/llvm/bin/clang') set(CMAKE_CXX_COMPILER '/usr/local/opt/llvm/bin/clang++') в CMakeList.txt , поэтому вы можете запускать cmake без -D

Conda использует clang для компиляции OSX (зонтичный пакет cxx-compiler ), но я столкнулся с аналогичными проблемами при использовании llvm-openmp и -fopenmp ошибки метания флага. Решение довольно похоже на другие ответы, но я включаю здесь, если у других есть более точная проблема.

Конкретное решение заключалось в том, чтобы включить среду Conda include/ каталог в CFLAGS , а именно:

Обратите внимание, мне также нужно было добавить -lstdc++ -Wl,-rpath $/lib -L$/lib при связывании, аналогично этой проблеме GitHub.

Читайте также: