Emerging petsc with USE=mpi leads to several sandbox violations in configureMPIEXEC and configureMPITYPES: TESTING: configureMPIEXEC from config.packages.MPI(/var/tmp/portage/sci-mathematics/petsc-3.13.1/work/petsc-3.13.1/config/BuildSystem/config/packages/MPI.py:175) * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl TESTING: configureMPITypes from config.packages.MPI(/var/tmp/portage/sci-mathematics/petsc-3.13.1/work/petsc-3.13.1/config/BuildSystem/config/packages/MPI.py:328) * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl * ACCESS DENIED: open_wr: /dev/nvidiactl Adding an addpredict /dev/nvidiactl statement solves this. Reproducible: Always Steps to Reproduce: 1. USE="mpi" emerge sci-mathematics/petsc 2. 3. build log and emerge info as attachments
Created attachment 687702 [details] petsc-3.13.1:20210220-094800.log build log
Created attachment 687705 [details] emerge-info_petsc-3.13.1.txt output of emerge --info petsc
Additionally, if petsc[hypre] is build, where USE=hypre requires USE=mpi, configuration fails with Hypre specified is incompatible! Hypre with --enable-bigint/--enable-mixedint appears to be specified for a default 32-bit-indices build of PETSc. This happens, if sci-libs/hypre is built with USE=int64. Omitting the int64 USE flag, solves this.
Created attachment 687732 [details] petsc-3.13.1-mpi-hypre-mumps.patch The patch solve the mpi issue by adding an addpredict statement. It also changes the hypre dependency by adding -int64. There might be a better way to do this, I've tried to not apply the petsc-3.13.0-make_hypre_configure.patch, as it also references the HYPRE BigInt installations, but it didn't work. Building hypre with USE=-int64 was the quickest and easiest way. It also fixes a configuration warning for mumps, resulting from a typo, where use_with is used instead of petsc_with for USE=mumps.
Couldn't reproduce at first but unsurprisingly could after I rebuilt openmpi with USE=cuda. I'll assume that's what you're using.
Good catch! I noticed some cuda related output, but couldn't see the source of these. Yes, I'm using openmpi[cuda].
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22b0aca66e91fa237da5a093082046fb952bebbc commit 22b0aca66e91fa237da5a093082046fb952bebbc Author: Matthias Maier <tamiko@gentoo.org> AuthorDate: 2021-04-09 16:29:09 +0000 Commit: Matthias Maier <tamiko@gentoo.org> CommitDate: 2021-04-09 18:26:15 +0000 sci-mathematics/petsc: add addpredict statement Closes: https://bugs.gentoo.org/771711 Package-Manager: Portage-3.0.18, Repoman-3.0.3 Signed-off-by: Matthias Maier <tamiko@gentoo.org> sci-mathematics/petsc/petsc-3.13.1.ebuild | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)