Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing MPI error compiling svFSI with Trilinos #80

Open
fppsvz opened this issue Jul 20, 2022 · 4 comments
Open

Missing MPI error compiling svFSI with Trilinos #80

fppsvz opened this issue Jul 20, 2022 · 4 comments

Comments

@fppsvz
Copy link

fppsvz commented Jul 20, 2022

Dear all,
I'm writing to ask for a little help as I'm trying to install svFSI on a HPC cluster but consistently fail while making svFSI.
In particular, I got prompted the following messages:
-- Could NOT find MPI_Fortran (missing: MPI_Fortran_WORKS)
-- Could NOT find MPI (missing: MPI_Fortran_FOUND) (found version "3.1")
which finally lead to:
" CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
MPI_LIBRARY "

Does somebody have an idea of what I'm doing wrong? FYI I'm using OpenMPI 3.1.4, Trilinos 12.12.1 (although I also tried with 13.5 with the same exact results). At the moment I'm calling ccmake as:

ccmake -DCMAKE_C_COMPILER:PATH=/opt/ohpc/pub/mpi/openmpi3-gnu8/3.1.4/bin/mpicc -DCMAKE_CXX_COMPILER:PATH=/opt/ohpc/pub/mpi/openmpi3-gnu8/3.1.4/bin/mpiCC -DCMAKE_Fortran_COMPILER:PATH=/opt/ohpc/pub/mpi/openmpi3-gnu8/3.1.4/bin/mpifort -DCMAKE_PREFIX_PATH:PATH=/opt/ohpc/pub/libs/gnu8/openmpi3/trilinos/12.12.1/lib/cmake/Trilinos ..

Thank you in advance for your help!

Best,
Filippo

@fppsvz
Copy link
Author

fppsvz commented Aug 1, 2022

Nobody here with a clue of what can be the problem I'm facing? I tried with several versions of OpenMPI, MPICH, different versions of Trilinos: the error is perfectly replicated every time. It can be something I'm doing wrong as I'm not a huge IT expert... Nonetheless our research is stucked at the moment...

Cheers,
Filippo

@vvedula22
Copy link
Contributor

The MPI not found can be due to multiple reasons although CMake only displays the final error that is usually not helpful. Did you look at the CMakeError.log and CMakeOutput.log file? You need to find the test code that failed during the build process. CMake usually creates these test codes on the fly. You may then look for the specific compiler flags that led to errors.

@fppsvz
Copy link
Author

fppsvz commented Aug 2, 2022

Hi, thanks for reaching me out. Yes I checked the output and error logs in svFSI-build/CMakeFiles but it's not really helpful (to me at least). The error file complains about the Fortran sgemm, ending with something like:

CMakeFiles/cmTC_fea84.dir/testFortranCompiler.f.o: In function main': testFortranCompiler.f:(.text.startup+0x1b): undefined reference to sgemm_'

Now, I understand that sgemm is a function within the blas libraries, nonetheless the blas library is correctly recognized by cmake, so I don't really know what clues extrapolate from this info.
In the output log, in correspondence it says:

/opt/ohpc/pub/compiler/gcc/8.3.0/bin/gfortran -O3 -DNDEBUG -march=native -cpp -pthread -std=legacy CMakeFiles/cmTC_0652c.dir/testFortranCompiler.f.o -o cmTC_0652c -Wl,-rpath,/opt/ohpc/pub/libs/gnu8/openblas/0.3.5/lib /opt/ohpc/pub/libs/gnu8/openblas/0.3.5/lib/libopenblas.so

That's why I think cmake correctly identified the blas library.

Is there something I'm not seeing? As I said, I usually compile the needed software for our group but I'm no expert at all. I hope you can help us out here.

Best regards,
Filippo

@vvedula22
Copy link
Contributor

Do you mind sharing your CMakeOutput.log and CMakeError.log files somewhere? What module environment do you have on your cluster?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants