Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22020

FindOpenMP failed on setting OpenMP_pthread_LIBRARY on alpine

$
0
0

I was trying to build a multi-threading application with cmake in my container. It failed when I tried to find OpenMP 3.0 with FindOpenMP, but worked fine if FindOpenMP was removed. Here is my test

#include <omp.h>

int main(void) {
    omp_get_max_threads();
    return 0;
}

and the configuration

cmake_minimum_required(VERSION 3.15)

project(test)

find_package(Threads REQUIRED)
find_package(OpenMP 3.0 REQUIRED)

add_executable(test test.cpp)
target_link_libraries(test
    PUBLIC gomp)

CMake complained that a variable was missing, but when I commented out the line find_package(OpenMP 3.0 REQUIRED), it passed all checks.

-- The C compiler identification is GNU 9.2.0
-- The CXX compiler identification is GNU 9.2.0
-- Check for working C compiler: /opt/gcc/9.2.0/bin/gcc
-- Check for working C compiler: /opt/gcc/9.2.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /opt/gcc/9.2.0/bin/c++
-- Check for working CXX compiler: /opt/gcc/9.2.0/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find OpenMP_C (missing: OpenMP_pthread_LIBRARY) (found suitable
  version "4.5", minimum required is "3.0")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindOpenMP.cmake:477 (find_package_handle_standard_args)
  CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!

My container was built from the latest alpine image. GCC 9.2.0 was built manually with options

--enable-languages=c,c++ --disable-multilib --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --target=x86_64-alpine-linux-musl --disable-libsanitizer --disable-libatomic --disable-libitm

The docker image is maintained at https://hub.docker.com/repository/docker/leavesask/gcc/general. I've been using it for other projects for a long time, but this is my first time trying to make use of FindOpenMP.


Viewing all articles
Browse latest Browse all 22020

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>