LLNL / serac

Serac is a high order nonlinear thermomechanical simulation code
BSD 3-Clause "New" or "Revised" License
178 stars 31 forks source link

Fix mfem failing to include link location for mpi_mpifh #1089

Closed btalamini closed 4 months ago

btalamini commented 5 months ago

Temporary fix. Seems that under some situations, mfem does not properly include the location of all libraries it is linking against. We're not sure exactly what causes this, but Chris has an inkling that it may be when mfem is built with strumpack.

Worked with Chris White.

Note from @white238 : I built this on TOSS4 and verified the very first thing on the link line is the directory I added and the one that is found by Spack is still there. It is correct on mine due to the lack of the subdirectory that @btalamini was running into but I am pretty sure this fixes the issue.

codecov-commenter commented 5 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.97%. Comparing base (457516a) to head (8d7cb61).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #1089 +/- ## ======================================== Coverage 86.97% 86.97% ======================================== Files 159 159 Lines 15465 15465 ======================================== Hits 13450 13450 Misses 2015 2015 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

btalamini commented 5 months ago

This compiles on my system, but some CI platforms are failing to build due to (more) MPI linking problems. Chris, I'l need more help to get this resolved.

btalamini commented 4 months ago

We eventually got Serac to build without any changes to the Serac repo (other than pointing to a newer spack commit, though we don't know if this was neccesary). I allowed spack to build openMPI v4.1.6. Is the purpose of this PR to allow one to use an existing mpi installation? (I'm sorry, we tried several things, and I forget where this change fit in).

white238 commented 4 months ago

We eventually got Serac to build without any changes to the Serac repo (other than pointing to a newer spack commit, though we don't know if this was neccesary). I allowed spack to build openMPI v4.1.6. Is the purpose of this PR to allow one to use an existing mpi installation? (I'm sorry, we tried several things, and I forget where this change fit in).

This will guard against the MPI fortran library not having the correct MPI lib library. It also removes the defaulting to the wrong spack.yaml.