MPICXX not linked for internal binaries
Closed this issue · 1 comments
PhilipDeegan commented
Hi,
I think since the latest commit, there's a link issue
FAILED: subprojects/caliper/src/tools/cali-query/cali-query
13:25:13 : && /usr/bin/c++ -g3 -O3 -march=native -mtune=native -DPHARE_DIAG_DOUBLES=1 -O3 -DNDEBUG -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags subprojects/caliper/src/tools/cali-query/CMakeFiles/query-common.dir/query_common.cpp.o subprojects/caliper/src/tools/cali-query/CMakeFiles/cali-query.dir/AttributeExtract.cpp.o subprojects/caliper/src/tools/cali-query/CMakeFiles/cali-query.dir/cali-query.cpp.o -o subprojects/caliper/src/tools/cali-query/cali-query -Wl,-rpath,/opt/buildagent/work/3bd323ee5a73a841/build/subprojects/samrai/lib:/usr/lib64/openmpi/lib: subprojects/samrai/lib/libcaliper-tools-util.so.2.11.0-dev subprojects/samrai/lib/libcaliper.so.2.11.0-dev /usr/lib64/openmpi/lib/libmpi.so && :
13:25:13 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `ompi_mpi_cxx_op_intercept'
13:25:13 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Datatype::Free()'
13:25:13 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Comm::Comm()'
13:25:13 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Win::Free()'
13:25:13 collect2: error: ld returned 1 exit status
13:25:13 [536/762] Building CXX object subprojects/samrai/source/SAMRAI/pdat/CMakeFiles/SAMRAI_pdat.dir/SideGeometry.cpp.o
13:25:14 [537/762] Linking CXX executable subprojects/caliper/src/tools/mpi-caliquery/mpi-caliquery
13:25:14 [538/762] Linking CXX executable subprojects/caliper/src/tools/cali-stat/cali-stat
13:25:14 FAILED: subprojects/caliper/src/tools/cali-stat/cali-stat
13:25:14 : && /usr/bin/c++ -g3 -O3 -march=native -mtune=native -DPHARE_DIAG_DOUBLES=1 -O3 -DNDEBUG -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags subprojects/caliper/src/tools/cali-stat/CMakeFiles/cali-stat.dir/cali-stat.cpp.o -o subprojects/caliper/src/tools/cali-stat/cali-stat -Wl,-rpath,/opt/buildagent/work/3bd323ee5a73a841/build/subprojects/samrai/lib:/usr/lib64/openmpi/lib: subprojects/samrai/lib/libcaliper-tools-util.so.2.11.0-dev subprojects/samrai/lib/libcaliper.so.2.11.0-dev /usr/lib64/openmpi/lib/libmpi.so && :
13:25:14 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `ompi_mpi_cxx_op_intercept'
13:25:14 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Datatype::Free()'
13:25:14 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Comm::Comm()'
13:25:14 /usr/bin/ld: subprojects/samrai/lib/libcaliper.so.2.11.0-dev: undefined reference to `MPI::Win::Free()'
13:25:14 collect2: error: ld returned 1 exit status
daboehme commented
Hm, I see. Looks like the MPI::MPI_C
target isn't enough for OpenMPI in your case, though it worked for me. I'll revert it back to ${MPI_CXX_LIBRARIES}
, hopefully that fixes it - please let me know if it doesn't. MPI::MPI_CXX
doesn't work for CMake projects that don't have the CXX language enabled. Thanks again for the report!