Tejas Belvalkar
Tejas Belvalkar

Reputation: 193

Compile OpenMP programs with gcc compiler on OS X Yosemite

$ gcc 12.c -fopenmp
12.c:9:9: fatal error: 'omp.h' file not found
#include<omp.h>
    ^
1 error generated.

While compiling openMP programs I get the above error. I am using OS X Yosemite. I first tried by installing native gcc compiler by typing gcc in terminal and later downloaded Xcode too still I got the same error. Then I downloaded gcc through:

$ brew install gcc

Still I'm getting the same error. I did try changing the compiler path too still it shows:

$ which gcc
/usr/bin/gcc

So how do I compile programs with gcc?

Upvotes: 14

Views: 34849

Answers (3)

Kaps3lk
Kaps3lk

Reputation: 1

The question is 8 years old, but I'm writing this down for new users like me who encountered the same error. workaround is to give the location of the omp.h file instead of #include <omp.h>.

#include "/Volumes/Macintosh HD/opt/homebrew/Cellar/libomp/17.0.5/include/omp.h"

you can include the location omp.h in your pc.

Please correct me if I'm wrong.

Upvotes: 0

IKavanagh
IKavanagh

Reputation: 6187

EDIT: As of 13 Aug 2017 the --without-multilib option is no longer present in Homebrew and should not be used. The standard installation

brew install gcc

will provide a gcc installation that can be used to compile OpenMP programs. As below it will be installed into /usr/local/bin as gcc-<version>. The current gcc version available from Homebrew (as of writing) will install as gcc-8. You can compile programs with OpenMP support using it via

gcc-8 -fopenmp hello.c

Alternatively you could put an alias in your .bashrcfile as

alias gcc='gcc-8'

and then compile using

gcc -fopenmp hello.c

Note: I'm leaving the original post here in case it is useful to somebody.

The standard gcc available on OS X through XCode and Clang doesn't support OpenMP. To install the Homebrew version of gcc with OpenMP support you need to install it with

brew install gcc --without-multilib

or as pointed out by @Mark Setchell

brew reinstall gcc --without-multilib

This will install it to the /usr/local/bin directory. Homebrew will install it as gcc-<version> so as not to clobber the gcc bundled with XCode.

Upvotes: 45

Tejas Belvalkar
Tejas Belvalkar

Reputation: 193

I finally did some research and I finally came across a solution here: <omp.h> library isn't found in the GCC version (4.2.1) in Mavericks.

  1. I got a new gcc complier from http://hpc.sourceforge.net/
  2. Then I placed a new executable folder by $ sudo tar -xvf gcc-4.9-bin.tar -C /
  3. Later I switched to it by export PATH=/usr/local/bin:$PATH that seemed to do the trick!

Upvotes: 2

Related Questions