Search code examples
macosgccmakefileopenmplinker-errors

libgomp and MacOsx


I am using MacOS Mojave version 10.14.16 and I am trying to install http://www.rpl2.net/index.php (a programming language using Reverse Polish Notation as found on some HP calculators like the 48GX), supposed to work on MacOSX (they say "MacOS X (Xcode 3.1.4 + gfortran 4.5)").

So I have downloaded the latest stable release, cd to the folder, and wanted to run

./configure
make
make install

But the ./configure is failing due to "configure: error: Can not find libgomp !". There is no libgomp package I can install with brew (I already installed gcc which comes with gfortran and thought it would provide libgomp but apparently not).

Could someone help a poor applied mathematician trying to install a software on its macbook?

Thanks

EDIT

in my config.log I have this, maybe it will help:

configure:7433: checking for vim
configure:7449: found /usr/bin/vim
configure:7461: result: yes
configure:7507: checking for main in -lm
configure:7526: gcc -o conftest -g -O2  -O2 -fno-strict-overflow    conftest.c -lm   >&5
configure:7526: $? = 0
configure:7535: result: yes
configure:7548: checking for pthread_mutex_init in -lc
configure:7573: gcc -o conftest -g -O2  -O2 -fno-strict-overflow    conftest.c -lc  -lm  >&5
configure:7573: $? = 0
configure:7582: result: yes
configure:7687: checking for omp_get_num_procs in -lgomp
configure:7712: gcc -o conftest -g -O2  -O2 -fno-strict-overflow    conftest.c -lgomp  -lc -lm  >&5
ld: library not found for -lgomp
clang: error: linker command failed with exit code 1 (use -v to see invocation)
configure:7712: $? = 1

Solution

  • You don't say how you installed GCC. If you did it using homebrew, and

    brew install gcc
    

    you should be able to see:

    /usr/local/Cellar/gcc/10.2.0/lib/gcc/10/libgomp.dylib
    

    which would mean you need to compile with:

    gcc ... -L /usr/local/Cellar/gcc/10.2.0/lib/gcc/10 -l gomp ...
    

    Failing that, you can always search for libgomp with:

    find /usr -name "lib*gomp*lib"
    

    You can test which gcc you are using with:

    type gcc