llnl / llnl/blt

fortran vs mpi logic

Open
#697 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.