Tried to compile an all-bells-and-whistles 30G build of CERN ROOT today for fun & profit. The final ROOT package failed pre-merge checks with the following message (apologies for poor formatting if better exists): ... -- Found MPI_C: /usr/lib64/libmpi.so (found version "3.1") -- Found MPI_CXX: /usr/lib64/libmpi.so (found version "3.1") -- Could NOT find MPI_Fortran (missing: MPI_Fortran_LIB_NAMES MPI_Fortran_F77_HEADER_DIR MPI_Fortran_MODULE_DIR MPI_Fortran_WORKS) -- Could NOT find MPI (missing: MPI_Fortran_FOUND) (found version "3.1") CMake Error at cmake/modules/SearchInstalledSoftware.cmake:1689 (message): MPI not found. Ensure that the installation of MPI is in the CMAKE_PREFIX_PATH. Example: CMAKE_PREFIX_PATH=<MPI_install_path> (e.g. "/usr/local/mpich") Call Stack (most recent call first): CMakeLists.txt:219 (include) -- Configuring incomplete, errors occurred! See also "/var/tmp/portage/sci-physics/root-6.24.06/work/root-6.24.06_build/CMakeFiles/CMakeOutput.log". See also "/var/tmp/portage/sci-physics/root-6.24.06/work/root-6.24.06_build/CMakeFiles/CMakeError.log". * ERROR: sci-physics/root-6.24.06::gentoo failed (configure phase): * cmake failed ... After recompiling the MPI package with the fortran use flag, portage happily chugs away on ROOT's LLVM interpreter objects. It seems like it's pretty evident what needs to change--either the ROOT mpi flag or the combination of the mpi and fortran flags together needs to require the fortran flag of mpi. As such, I've not included an emerge --info and so on, but am happy to do so should that be necessary whenever my 3-day new user link restriction expires and I can share a pastebin.
The MPI and Fortran support do not actually have much to do with each other, as Fortran is only used for the minicern library (some legacy code), and MPI is only used by Minuit2 and some other new functionality (TMPIFile, what USE=mpi is for). However, CMake likely wants the Fortran compiler for MPI regardless when the Fortran compiler is needed for minicern. I will update the dependency in the ebuilds in any case, but I will see with upstream if we can fix this unwanted dependency on MPI with Fortran in the next release as well.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=975cfa4b5f04433810310627bd0ce4b9994fd1a7 commit 975cfa4b5f04433810310627bd0ce4b9994fd1a7 Author: Guilherme Amadio <amadio@gentoo.org> AuthorDate: 2021-10-18 10:48:24 +0000 Commit: Guilherme Amadio <amadio@gentoo.org> CommitDate: 2021-10-18 11:35:17 +0000 sci-physics/root: fix dependency on mpi, bug #818460 Closes: https://bugs.gentoo.org/818460 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Guilherme Amadio <amadio@gentoo.org> sci-physics/root/root-6.22.08-r2.ebuild | 2 +- sci-physics/root/root-6.24.06.ebuild | 2 +- sci-physics/root/root-6.24.9999.ebuild | 2 +- sci-physics/root/root-9999.ebuild | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-)