fortran vs mpi logic
- Dominant language
- C++
- Stars
- 296
- Forks
- 66
- Avg merge
- 1h 3m
- Merged PRs (30d)
- 1
Description
Use case:
Fortran language support is on - but MPI Fortran support is not needed.
I think because BLT calls `find_package(MPI REQUIRED)` we will always hit an error:
```
49 -- Found MPI_C: /lib64/libxpmem.so (found version "3.1")
50 -- Found MPI_CXX: /lib64/libxpmem.so (found version "3.1")
51 -- Could NOT find MPI_Fortran (missing: MPI_Fortran_WORKS)
>> 52 CMake Error at /usr/tce/backend/installations/linux-rhel8-x86_64/gcc
-8.3.1/cmake-3.24.2-ywx52e32uh6gkxzuyubpwkulzgdvxyh6/share/cmake-3.2
4/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
53 Could NOT find MPI (missing: MPI_Fortran_FOUND) (found version "3.
1")
```
For this case, the following would work:
```
find_package(MPI COMPONENTS C)
```
But we need to find the right way to wire as a blt option.
Contributor guide
Research direction
Start by tracing where BLT calls find_package(MPI REQUIRED) and how existing BLT options control MPI language components. Confirm the behavior with a Fortran-enabled project that only needs MPI C support; done when the relevant option avoids requiring MPI_Fortran while still finding the requested MPI component.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, fortran
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100