cea-hpc / wi4mpi

Wrapper interface for MPI
BSD 3-Clause "New" or "Revised" License
80 stars 15 forks source link

Compilation fails with GCC 10.2.0 #11

Closed moseshou closed 2 years ago

moseshou commented 3 years ago

Hello, I used GNU GCC 10.2.0 and OpenMPI 4.0.5 to compile the source I git-cloned:

mkdir build cd build cmake -DOPENMPI_ROOT=/apps/eb/OpenMPI/4.0.5-GCC-10.2.0 -DWI4MPI_COMPILER=GNU -DWI4MPI_REALEASE=RELEASE .. make -j 10

I got the same error during linking libwi4mpi_MPICH_INTEL.so, which is also reported in issue #10:

[ 29%] Linking C shared library libwi4mpi_MPICH_INTEL.so /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Unpack_external' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Pack_external_size' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Pack_external' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Lookup_name' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Win_set_name' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Unpublish_name' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Publish_name' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: error: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/debug_printer.c.o: multiple definition of '_LOCAL_MPI_Open_port' /apps/eb/binutils/2.35-GCCcore-10.2.0/bin/ld.gold: CMakeFiles/wi4mpi_MPICH_INTEL.dir/common/asm_jit.c.o: previous definition here

cat CMakeCache.txt

This is the CMakeCache file. For build in directory: /scratch/zhuofei/wi4mpi/build It was generated by CMake: /apps/eb/CMake/3.10.3-GCCcore-8.3.0/bin/cmake You can edit this file to change values found and used by cmake. If you do not want to change any of the values, simply exit the editor. If you do want to change a value, simply edit, save, and exit the editor. The syntax for the file is as follows: KEY:TYPE=VALUE KEY is the name of a variable in the cache. TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. VALUE is the current value for the KEY.

######################## EXTERNAL cache entries ########################

//Path to a program. CMAKE_AR:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/ar

//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or // CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. CMAKE_BUILD_TYPE:STRING=

//Enable/Disable color output during build. CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler CMAKE_CXX_COMPILER:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/g++

//A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_AR:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ar

//A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ranlib

//Flags used by the compiler during all build types. CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds. CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info. CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C compiler CMAKE_C_COMPILER:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/cc

//A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_C_COMPILER_AR:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ar

//A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_C_COMPILER_RANLIB:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ranlib

//Flags used by the compiler during all build types. CMAKE_C_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds. CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info. CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Flags used by the linker. CMAKE_EXE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation. CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

//Fortran compiler CMAKE_Fortran_COMPILER:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gfortran

//A wrapper around 'ar' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_Fortran_COMPILER_AR:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ar

//A wrapper around 'ranlib' adding the appropriate '--plugin' option // for the GCC compiler CMAKE_Fortran_COMPILER_RANLIB:FILEPATH=/apps/eb/GCCcore/8.3.0/bin/gcc-ranlib

//Flags for Fortran compiler. CMAKE_Fortran_FLAGS:STRING=

//Flags used by the compiler during debug builds. CMAKE_Fortran_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum // size. CMAKE_Fortran_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG -Os

//Flags used by the compiler during release builds. CMAKE_Fortran_FLAGS_RELEASE:STRING=-O3 -DNDEBUG -O3

//Flags used by the compiler during release builds with debug info. CMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Install path prefix, prepended onto install directories. CMAKE_INSTALL_PREFIX:PATH=/usr/local

//Path to a program. CMAKE_LINKER:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/ld

//Path to a program. CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake

//Flags used by the linker during the creation of modules. CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program. CMAKE_NM:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/nm

//Path to a program. CMAKE_OBJCOPY:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/objcopy

//Path to a program. CMAKE_OBJDUMP:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/objdump

//Value Computed by CMake CMAKE_PROJECT_NAME:STATIC=wi4mpi

//Path to a program. CMAKE_RANLIB:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/ranlib

//Flags used by the linker during the creation of dll's. CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries, // but are added when building. CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries. CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries. CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds. CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds. CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds. CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds. CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program. CMAKE_STRIP:FILEPATH=/apps/eb/binutils/2.32-GCCcore-8.3.0/bin/strip

//If this value is on, makefiles will be generated without the // .SILENT directive, and all commands will be echoed to the console // during the make. This is useful for debugging only. With Visual // Studio IDE projects all commands are done without /nologo. CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Executable for running MPI programs. MPIEXEC_EXECUTABLE:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/bin/mpiexec

//Maximum number of processors available to run MPI applications. MPIEXEC_MAX_NUMPROCS:STRING=64

//Flag used by MPI to specify the number of processes for mpiexec; // the next option will be the number of processes. MPIEXEC_NUMPROC_FLAG:STRING=-n

//These flags will be placed after all flags passed to mpiexec. MPIEXEC_POSTFLAGS:STRING=

//These flags will be directly before the executable that is being // run by mpiexec. MPIEXEC_PREFLAGS:STRING=

//MPI CXX additional include directories MPI_CXX_ADDITIONAL_INCLUDE_DIRS:STRING=

//MPI compiler for CXX MPI_CXX_COMPILER:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/bin/mpicxx

//MPI CXX compilation definitions MPI_CXX_COMPILE_DEFINITIONS:STRING=

//MPI CXX compilation options MPI_CXX_COMPILE_OPTIONS:STRING=

//Path to a file. MPI_CXX_HEADER_DIR:PATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/include

//MPI CXX libraries to link against MPI_CXX_LIB_NAMES:STRING=mpi

//MPI CXX linker flags MPI_CXX_LINK_FLAGS:STRING=-Wl,-rpath -Wl,/apps/eb/hwloc/1.11.12-GCCcore-8.3.0/lib -Wl,-rpath -Wl,/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib -Wl,--enable-new-dtags

//If true, the MPI-2 C++ bindings are disabled using definitions. MPI_CXX_SKIP_MPICXX:BOOL=FALSE

//MPI C additional include directories MPI_C_ADDITIONAL_INCLUDE_DIRS:STRING=

//MPI compiler for C MPI_C_COMPILER:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/bin/mpicc

//MPI C compilation definitions MPI_C_COMPILE_DEFINITIONS:STRING=

//MPI C compilation options MPI_C_COMPILE_OPTIONS:STRING=

//Path to a file. MPI_C_HEADER_DIR:PATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/include

//MPI C libraries to link against MPI_C_LIB_NAMES:STRING=mpi

//MPI C linker flags MPI_C_LINK_FLAGS:STRING=-Wl,-rpath -Wl,/apps/eb/hwloc/1.11.12-GCCcore-8.3.0/lib -Wl,-rpath -Wl,/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib -Wl,--enable-new-dtags

//MPI Fortran additional include directories MPI_Fortran_ADDITIONAL_INCLUDE_DIRS:STRING=

//MPI compiler for Fortran MPI_Fortran_COMPILER:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/bin/mpif90

//MPI Fortran compilation definitions MPI_Fortran_COMPILE_DEFINITIONS:STRING=

//MPI Fortran compilation options MPI_Fortran_COMPILE_OPTIONS:STRING=

//Path to a file. MPI_Fortran_F77_HEADER_DIR:PATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/include

//MPI Fortran libraries to link against MPI_Fortran_LIB_NAMES:STRING=mpi_usempif08;mpi_usempi_ignore_tkr;mpi_mpifh;mpi

//MPI Fortran linker flags MPI_Fortran_LINK_FLAGS:STRING=-Wl,-rpath -Wl,/apps/eb/hwloc/1.11.12-GCCcore-8.3.0/lib -Wl,-rpath -Wl,/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib -Wl,--enable-new-dtags

//Path to a file. MPI_Fortran_MODULE_DIR:PATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib

//Location of the mpi library for MPI MPI_mpi_LIBRARY:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi.so

//Location of the mpi_mpifh library for MPI MPI_mpi_mpifh_LIBRARY:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_mpifh.so

//Location of the mpi_usempi_ignore_tkr library for MPI MPI_mpi_usempi_ignore_tkr_LIBRARY:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_usempi_ignore_tkr.so

//Location of the mpi_usempif08 library for MPI MPI_mpi_usempif08_LIBRARY:FILEPATH=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_usempif08.so

//No help, variable specified on the command line. OPENMPI_ROOT:UNINITIALIZED=/apps/eb/OpenMPI/3.1.4-GCC-8.3.0

//No help, variable specified on the command line. WI4MPI_COMPILER:UNINITIALIZED=GNU

//Value Computed by CMake compile_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build/Testing/compile

//Value Computed by CMake compile_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi/Testing/compile

//Dependencies for target mpi.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpi.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpi.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpi.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpi.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpi.so.5_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_a_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_cxx.so.5_LIB_DEPENDS:STATIC=

//Value Computed by CMake mpi_init_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build/Testing/mpi_init

//Value Computed by CMake mpi_init_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi/Testing/mpi_init

//Dependencies for target mpi_mod_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mpifh.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mpifh.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mpifh.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mt.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mt.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_mt.so.5_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempi_ignore_tkr.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempi_ignore_tkr.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempi_ignore_tkr.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempif08.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempif08.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpi_usempif08.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.1_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.20_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.40_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpicxx.so.5_LIB_DEPENDS:STATIC=

//Dependencies for target mpifort.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpifort.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpifort.so.5_LIB_DEPENDS:STATIC=

//Dependencies for target mpigf.so.12_LIB_DEPENDS:STATIC=

//Dependencies for target mpigf.so.4_LIB_DEPENDS:STATIC=

//Dependencies for target mpigf.so.5_LIB_DEPENDS:STATIC=

//Value Computed by CMake mpiio_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build/Testing/mpiio

//Value Computed by CMake mpiio_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi/Testing/mpiio

//Value Computed by CMake mpirun_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build/Testing/mpirun

//Value Computed by CMake mpirun_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi/Testing/mpirun

//Value Computed by CMake timeout_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build/Testing/timeout

//Value Computed by CMake timeout_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi/Testing/timeout

//Value Computed by CMake wi4mpi_BINARY_DIR:STATIC=/scratch/zhuofei/wi4mpi/build

//Dependencies for the target wi4mpi_INTEL_INTEL_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_INTEL_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_INTEL_MPICH_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_INTEL_OMPI_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_INTEL_a_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPC_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPC_a_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPICH_INTEL_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPICH_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPICH_MPICH_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPICH_OMPI_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_MPICH_a_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_OMPI_INTEL_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_OMPI_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_OMPI_MPICH_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_OMPI_OMPI_LIB_DEPENDS:STATIC=general;-lpthread;

//Dependencies for the target wi4mpi_OMPI_a_LIB_DEPENDS:STATIC=general;-lpthread;

//Value Computed by CMake wi4mpi_SOURCE_DIR:STATIC=/scratch/zhuofei/wi4mpi

//Dependencies for target wi4mpi_profiling_INTEL_LIB_DEPENDS:STATIC=

//Dependencies for target wi4mpi_profiling_MPC_LIB_DEPENDS:STATIC=

//Dependencies for target wi4mpi_profiling_MPICH_LIB_DEPENDS:STATIC=

//Dependencies for target wi4mpi_profiling_OMPI_LIB_DEPENDS:STATIC=

######################## INTERNAL cache entries ########################

//ADVANCED property for variable: CMAKE_AR CMAKE_AR-ADVANCED:INTERNAL=1 //This is the directory where this CMakeCache.txt was created CMAKE_CACHEFILE_DIR:INTERNAL=/scratch/zhuofei/wi4mpi/build //Major version of cmake used to create the current loaded cache CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 //Minor version of cmake used to create the current loaded cache CMAKE_CACHE_MINOR_VERSION:INTERNAL=10 //Patch version of cmake used to create the current loaded cache CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 //ADVANCED property for variable: CMAKE_COLOR_MAKEFILE CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 //Path to CMake executable. CMAKE_COMMAND:INTERNAL=/apps/eb/CMake/3.10.3-GCCcore-8.3.0/bin/cmake //Path to cpack program executable. CMAKE_CPACK_COMMAND:INTERNAL=/apps/eb/CMake/3.10.3-GCCcore-8.3.0/bin/cpack //Path to ctest program executable. CMAKE_CTEST_COMMAND:INTERNAL=/apps/eb/CMake/3.10.3-GCCcore-8.3.0/bin/ctest //ADVANCED property for variable: CMAKE_CXX_COMPILER CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_COMPILER_AR CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER_AR CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Path to cache edit program executable. CMAKE_EDIT_COMMAND:INTERNAL=/apps/eb/CMake/3.10.3-GCCcore-8.3.0/bin/ccmake //Executable file format CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 //Name of external makefile project generator. CMAKE_EXTRA_GENERATOR:INTERNAL= //ADVANCED property for variable: CMAKE_Fortran_COMPILER CMAKE_Fortran_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_COMPILER_AR CMAKE_Fortran_COMPILER_AR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_COMPILER_RANLIB CMAKE_Fortran_COMPILER_RANLIB-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_FLAGS CMAKE_Fortran_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_FLAGS_DEBUG CMAKE_Fortran_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_FLAGS_MINSIZEREL CMAKE_Fortran_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_FLAGS_RELEASE CMAKE_Fortran_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_Fortran_FLAGS_RELWITHDEBINFO CMAKE_Fortran_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //Name of generator. CMAKE_GENERATOR:INTERNAL=Unix Makefiles //Name of generator platform. CMAKE_GENERATOR_PLATFORM:INTERNAL= //Name of generator toolset. CMAKE_GENERATOR_TOOLSET:INTERNAL= //Have symbol pthread_create CMAKE_HAVE_LIBC_CREATE:INTERNAL= //Have library pthreads CMAKE_HAVE_PTHREADS_CREATE:INTERNAL= //Have library pthread CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1 //Have include pthread.h CMAKE_HAVE_PTHREAD_H:INTERNAL=1 //Source directory with the top level CMakeLists.txt file for this // project CMAKE_HOME_DIRECTORY:INTERNAL=/scratch/zhuofei/wi4mpi //Install .so files without execute permission. CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 //ADVANCED property for variable: CMAKE_LINKER CMAKE_LINKER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MAKE_PROGRAM CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_NM CMAKE_NM-ADVANCED:INTERNAL=1 //number of local generators CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=8 //ADVANCED property for variable: CMAKE_OBJCOPY CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_OBJDUMP CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 //Platform information initialized CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 //ADVANCED property for variable: CMAKE_RANLIB CMAKE_RANLIB-ADVANCED:INTERNAL=1 //Path to CMake installation. CMAKE_ROOT:INTERNAL=/apps/eb/CMake/3.10.3-GCCcore-8.3.0/share/cmake-3.10 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 //ADVANCED property for variable: CMAKE_STRIP CMAKE_STRIP-ADVANCED:INTERNAL=1 //uname command CMAKE_UNAME:INTERNAL=/usr/bin/uname //ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 //Details about finding MPI FIND_PACKAGE_MESSAGE_DETAILS_MPI:INTERNAL=[TRUE][TRUE][TRUE][c ][v3.1()] //Details about finding MPI_C FIND_PACKAGE_MESSAGE_DETAILS_MPI_C:INTERNAL=[/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi.so][mpi][/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/include][TRUE][v3.1()] //Details about finding MPI_CXX FIND_PACKAGE_MESSAGE_DETAILS_MPI_CXX:INTERNAL=[/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi.so][mpi][/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/include][TRUE][v3.1()] //Details about finding MPI_Fortran FIND_PACKAGE_MESSAGE_DETAILS_MPI_Fortran:INTERNAL=[/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_usempif08.so][/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_usempi_ignore_tkr.so][/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi_mpifh.so][/apps/eb/OpenMPI/3.1.4-GCC-8.3.0/lib/libmpi.so][mpi_usempif08;mpi_usempi_ignore_tkr;mpi_mpifh;mpi][TRUE][v3.1()] //Details about finding Threads FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()] //ADVANCED property for variable: MPIEXEC_EXECUTABLE MPIEXEC_EXECUTABLE-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_MAX_NUMPROCS MPIEXEC_MAX_NUMPROCS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_NUMPROC_FLAG MPIEXEC_NUMPROC_FLAG-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_POSTFLAGS MPIEXEC_POSTFLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPIEXEC_PREFLAGS MPIEXEC_PREFLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_ADDITIONAL_INCLUDE_DIRS MPI_CXX_ADDITIONAL_INCLUDE_DIRS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_COMPILER MPI_CXX_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_COMPILE_DEFINITIONS MPI_CXX_COMPILE_DEFINITIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_COMPILE_OPTIONS MPI_CXX_COMPILE_OPTIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_HEADER_DIR MPI_CXX_HEADER_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_LIB_NAMES MPI_CXX_LIB_NAMES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_LINK_FLAGS MPI_CXX_LINK_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_CXX_SKIP_MPICXX MPI_CXX_SKIP_MPICXX-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_ADDITIONAL_INCLUDE_DIRS MPI_C_ADDITIONAL_INCLUDE_DIRS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_COMPILER MPI_C_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_COMPILE_DEFINITIONS MPI_C_COMPILE_DEFINITIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_COMPILE_OPTIONS MPI_C_COMPILE_OPTIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_HEADER_DIR MPI_C_HEADER_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_LIB_NAMES MPI_C_LIB_NAMES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_C_LINK_FLAGS MPI_C_LINK_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_ADDITIONAL_INCLUDE_DIRS MPI_Fortran_ADDITIONAL_INCLUDE_DIRS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_COMPILER MPI_Fortran_COMPILER-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_COMPILE_DEFINITIONS MPI_Fortran_COMPILE_DEFINITIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_COMPILE_OPTIONS MPI_Fortran_COMPILE_OPTIONS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_F77_HEADER_DIR MPI_Fortran_F77_HEADER_DIR-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_LIB_NAMES MPI_Fortran_LIB_NAMES-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_LINK_FLAGS MPI_Fortran_LINK_FLAGS-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_Fortran_MODULE_DIR MPI_Fortran_MODULE_DIR-ADVANCED:INTERNAL=1 //Result of TRY_COMPILE MPI_RESULT_CXX_test_mpi_MPICXX:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_CXX_test_mpi_normal:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_C_test_mpi_normal:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_Fortran_mpiver_F08_MODULE:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_Fortran_test_mpi_F08_MODULE:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_Fortran_test_mpi_F77_HEADER:INTERNAL=TRUE //Result of TRY_COMPILE MPI_RESULT_Fortran_test_mpi_F77_HEADER_NOKIND:INTERNAL=FALSE //Result of TRY_COMPILE MPI_RESULT_Fortran_test_mpi_F90_MODULE:INTERNAL=TRUE //ADVANCED property for variable: MPI_mpi_LIBRARY MPI_mpi_LIBRARY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_mpi_mpifh_LIBRARY MPI_mpi_mpifh_LIBRARY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_mpi_usempi_ignore_tkr_LIBRARY MPI_mpi_usempi_ignore_tkr_LIBRARY-ADVANCED:INTERNAL=1 //ADVANCED property for variable: MPI_mpi_usempif08_LIBRARY MPI_mpi_usempif08_LIBRARY-ADVANCED:INTERNAL=1

Thanks so much for your help!

ocaisa commented 3 years ago

The GCC issue is the first on the list in https://gcc.gnu.org/gcc-10/porting_to.html

ocaisa commented 3 years ago

Injecting -fcommon as a build option to override the new default fixes this for an existing release (3.4.1 at least), but it really needs a proper fix. I'm also using EasyBuild and a successful build for me with GCC 10 looked like:

cmake -DCMAKE_INSTALL_PREFIX=/users/ocaisa/.local/easybuild/software/WI4MPI/3.4.1-GCC-10.2.0 -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER='gcc' -DCMAKE_C_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno -fcommon' -DCMAKE_CXX_COMPILER='g++' -DCMAKE_CXX_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno -fcommon' -DCMAKE_Fortran_COMPILER='gfortran' -DCMAKE_Fortran_FLAGS='-O2 -ftree-vectorize -march=native -fno-math-errno -fcommon' -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_FIND_USE_PACKAGE_REGISTRY=FALSE -DOPENMPI_ROOT=$EBROOTOPENMPI -DWI4MPI_COMPILER=GNU -DWI4MPI_REALEASE=RELEASE /users/ocaisa/.local/easybuild/build/WI4MPI/3.4.1/GCC-10.2.0/wi4mpi-3.4.1/
adrien-cotte commented 3 years ago

Thank you for your contribution, gonna fix it :)