Problems compiling v22.3 with openmpi

Dear community,

I am trying to install the latest version compiling the source code with openmpi. With this version I am experiencing the error I post below, never seen before.
Any suggestion?

Thanks!
Fabio

cmake … -DENABLE_MPI=1 -DMPI_Fortran_COMPILER=mpifort -DCMAKE_Fortran_FLAGS=“-O2 -g”
– MFIX build settings summary:
– Build type =
– CMake version = 3.16.3
– Fortran compiler =
– Fortran flags = -O2 -g
– ENABLE_MPI = 1
– ENABLE_OpenMP = OFF
– ENABLE_CTEST = OFF
– ENABLE_COVERAGE = OFF
– The Fortran compiler identification is GNU 9.4.0
– Check for working Fortran compiler: /usr/bin/f95
– Check for working Fortran compiler: /usr/bin/f95 – works
– Detecting Fortran compiler ABI info
– Detecting Fortran compiler ABI info - done
– Checking whether /usr/bin/f95 supports Fortran 90
– Checking whether /usr/bin/f95 supports Fortran 90 – yes
– Performing Test ffpe_trap
– Performing Test ffpe_trap - Success
– Performing Test ffpe_summary
– Performing Test ffpe_summary - Success
– Found MPI_Fortran: /home/dioguardi/Software/Openmpi/lib/libmpi_usempif08.so (found version “3.1”)
– Found MPI: TRUE (found version “3.1”)
– Found Git: /usr/bin/git (found version “2.25.1”)
CMake Warning at model/cmake/MfixOptions.cmake:125 (message):
Unknown CMake version
Call Stack (most recent call first):
model/CMakeLists.txt:640 (set_mfix_version)

– Configuring done
– Generating done
– Build files have been written to: /home/dioguardi/Software/mfix-22.3/build
dioguardi@labvolc:~/Software/mfix-22.3/build$ make
Scanning dependencies of target mfixcore
[ 0%] Building Fortran object model/CMakeFiles/mfixcore.dir/dmp_modules/compar_mod.f.o
/home/dioguardi/Software/mfix-22.3/model/dmp_modules/compar_mod.f:17:2:

17 | #ifdef MPI
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/dmp_modules/compar_mod.f:19:2:

19 | #endif
| 1
Warning: Illegal preprocessor directive
[ 1%] Building Fortran object model/CMakeFiles/mfixcore.dir/funits_mod.f.o
/home/dioguardi/Software/mfix-22.3/model/funits_mod.f:1:2:

1 | #include "version.inc"
  |  1

Warning: Illegal preprocessor directive
[ 1%] Building Fortran object model/CMakeFiles/mfixcore.dir/machine_mod.f.o
/home/dioguardi/Software/mfix-22.3/model/machine_mod.f:87:2:

87 | #ifdef MINGW
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/machine_mod.f:90:2:

90 | #else
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/machine_mod.f:95:2:

95 | #endif
| 1
Warning: Illegal preprocessor directive
[ 1%] Building Fortran object model/CMakeFiles/mfixcore.dir/write_error.f.o
/home/dioguardi/Software/mfix-22.3/model/write_error.f:50:2:

50 | #ifndef PYMFIX
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/write_error.f:52:2:

52 | #endif
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/write_error.f:57:2:

57 | #ifndef PYMFIX
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/write_error.f:59:2:

59 | #endif
| 1
Warning: Illegal preprocessor directive
[ 1%] Building Fortran object model/CMakeFiles/mfixcore.dir/dmp_modules/debug_mod.f.o
[ 1%] Building Fortran object model/CMakeFiles/mfixcore.dir/param_mod.f.o
[ 2%] Building Fortran object model/CMakeFiles/mfixcore.dir/param1_mod.f.o
[ 2%] Building Fortran object model/CMakeFiles/mfixcore.dir/rxns_mod.f.o
[ 2%] Building Fortran object model/CMakeFiles/mfixcore.dir/monitors/monitor_mod.f90.o
[ 2%] Building Fortran object model/CMakeFiles/mfixcore.dir/des/derived_types_mod.f.o
[ 3%] Building Fortran object model/CMakeFiles/mfixcore.dir/run_mod.f.o
/home/dioguardi/Software/mfix-22.3/model/run_mod.f:45:2:

45 | #ifdef MFIX_VERSION
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/run_mod.f:47:2:

47 | #else
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/run_mod.f:48:2:

48 | #error “Error in build scripts; MFIX_VERSION undefined”
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/run_mod.f:49:2:

49 | #endif
| 1
Warning: Illegal preprocessor directive
/home/dioguardi/Software/mfix-22.3/model/run_mod.f:46:39:

46 | CHARACTER(LEN=10) :: ID_VERSION = MFIX_VERSION
| 1
Error: Parameter ‘mfix_version’ at (1) has not been declared or is a variable, which does not reduce to a constant expression
make[2]: *** [model/CMakeFiles/mfixcore.dir/build.make:5549: model/CMakeFiles/mfixcore.dir/run_mod.f.o] Errore 1
make[1]: *** [CMakeFiles/Makefile2:123: model/CMakeFiles/mfixcore.dir/all] Errore 2
make: *** [Makefile:130: all] Errore 2

Hi, I am getting error compiling a batch solver in serial mode too. I have attached the error message and the CMakeCache.txt. I am using Ubuntu 18.04.5 with GNU 7.5.0

CMakeCache.txt (11.5 KB)
22.3 Build Error.txt (2.6 KB)

MFiX 22.1.1 compiles fine.

Thank you.

@Fabio.Dioguardi @pbalas11

In the build output for both of your reports, I see:

CMake Warning at model/cmake/MfixOptions.cmake:125 (message):
  Unknown CMake version

I’m not sure why it no longer builds with CMake 3.16. That warning message should probably be a fatal error, if 3.16 is not usable.

Try upgrading cmake to 3.24.

@Fabio.Dioguardi the command you pasted looks strange, it says “cmake …” ( 3 dots)
instead of “cmake …” (2 dots). I assume this is just a cut and paste issue.

Hi

Thank you very much. I have upgraded cmake to the latest version and managed to compile successfully.
Just a note that that warning you highlighted is still displayed.

Thanks again
Fabio

1 Like