Issue with libm or parsec detection
We have an issue with the last version of cmake when lookign for PaRSEC in PaStiX
-- Looking for PARSEC - Try to detect pthread
-- Looking for PARSEC - Try to detect libm
-- Looking for PARSEC - Try to detect librt
-- Looking for PARSEC - Try to detect libdl
-- Looking for HWLOC - found using PkgConfig
-- Looking for hwloc_topology_init
-- Looking for hwloc_topology_init - found
-- Looking for PARSEC - found using PkgConfig
-- Looking for parsec_init
-- Looking for parsec_init - not found
-- Looking for parsec : test of parsec_init fails
-- CMAKE_REQUIRED_LIBRARIES: /usr/lib/x86_64-linux-gnu/libdl.so;/usr/lib/x86_64-linux-gnu/libhwloc.so;/usr/lib/x86_64-linux-gnu/libcudart_static.a;/usr/lib/x86_64-linux-gnu/librt.so;/opt/parsec/lib/libparsec.so;/opt/parsec/lib/libparsec-base.so;/opt/parsec/lib/libparsec_distribution.so;/opt/parsec/lib/libparsec_distribution_matrix.so;/usr/lib/gcc/x86_64-linux-gnu/7/libatomic.so;/usr/lib32/libpthread.so;/usr/lib32/libdl.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so;/usr/lib32/libm.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a;/usr/lib/gcc/x86_64-linux-gnu/7/libquadmath.so;/usr/lib32/libm.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a;/usr/lib32/libc.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc_s.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a;/usr/lib/x86_64-linux-gnu/libhwloc.so;/usr/lib/x86_64-linux-gnu/libhwloc.so;/usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so;/usr/lib32/libpthread.so;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/librt.so;/usr/lib/x86_64-linux-gnu/libdl.so
-- CMAKE_REQUIRED_INCLUDES: /opt/parsec/include;/opt/mpich-3.2-vg/include
-- CMAKE_REQUIRED_FLAGS:
-- Check in CMakeFiles/CMakeError.log to figure out why it fails
-- Maybe PARSEC is linked with specific libraries. Have you tried with COMPONENTS (HWLOC, CUDA, MPI)? See the explanation in FindPARSEC.cmake.
CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find PARSEC (missing: PARSEC_WORKS)
Call Stack (most recent call first):
/usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
cmake_modules/morse_cmake/modules/find/FindPARSEC.cmake:674 (find_package_handle_standard_args)
CMakeLists.txt:353 (find_package)
-- Configuring incomplete, errors occurred!
I attached the CMakeError.log, but point out to this line:
/usr/bin/cc -Wall -Wextra -mcx16 -DCHECK_FUNCTION_EXISTS=parsec_init -rdynamic CMakeFiles/cmTC_0684f.dir/CheckFunctionExists.c.o -o cmTC_0684f -Wl,-rpath,/opt/parsec/lib /usr/lib/x86_64-linux-gnu/libdl.so /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/libcudart_static.a /usr/lib/x86_64-linux-gnu/librt.so /opt/parsec/lib/libparsec.so /opt/parsec/lib/libparsec-base.so /opt/parsec/lib/libparsec_distribution.so /opt/parsec/lib/libparsec_distribution_matrix.so /usr/lib/gcc/x86_64-linux-gnu/7/libatomic.so -lpthread /usr/lib32/libdl.so /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so /usr/lib32/libm.so -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/7/libquadmath.so /usr/lib32/libm.so -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so -lpthread -lm /usr/lib/x86_64-linux-gnu/librt.so /usr/lib/x86_64-linux-gnu/libdl.so /usr/lib/x86_64-linux-gnu/libhwloc.so /usr/lib/x86_64-linux-gnu/libcudart_static.a /opt/parsec/lib/libparsec.so /opt/parsec/lib/libparsec-base.so /opt/parsec/lib/libparsec_distribution.so /opt/parsec/lib/libparsec_distribution_matrix.so /usr/lib/gcc/x86_64-linux-gnu/7/libatomic.so -lpthread /usr/lib32/libdl.so /usr/lib/gcc/x86_64-linux-gnu/7/libgfortran.so /usr/lib32/libm.so -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/7/libgcc.a /usr/lib/gcc/x86_64-linux-gnu/7/libquadmath.so -lc -lm
where /usr/lib32/libdl.so
and /usr/lib32/libm.so
are used, but I don't think they should be.