On Wed, 13 Jan 2021, Jan Grießer via petsc-users wrote: > Hello all, > I have a question about the tests for PETSc/PETSc4Py and SLEPc4Py when these > libraries are compiled inside a Singularity container (The .def file for > compilation is attached). The compilation of the libraries is no problem, > only if you call "make all check" for PETSc and "make check" for SLEPC at the > end of the compilation, error messages appear for PETSc or the Singularity > build aborts for SLEPc (see output.txt). I guess the problems are only > related to the "sudo" rights, which are needed to build the containers.
ooks like the container build [and the test] is done as root. and OpenMPI suggests: >>> You can override this protection by adding the --allow-run-as-root option to the cmd line or by setting two environment variables in the following way: the variable OMPI_ALLOW_RUN_AS_ROOT=1 to indicate the desire to override this protection, and OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 to confirm the choice and add one more layer of certainty that you want to do so. We reiterate our advice against doing so - please proceed at your own risk. <<<< So perhaps there is a way to do this whole process as a regular user [and not root?] - or set the above 2 env variables? > With slepc I don't even have access to the makelog because the container > can't be built at all. I'm not sure what you mean here - and why the make.log would exist in a regular build - and not in a container build. > For the 4Py versions I could navigate via singularity shell into the > corresponding directories and execute the runtests. These returned an ok for > all tests. > Is there a clever way to start tests for the c-Versions of PETSc/SLEPc > afterwards to check for the correct build of the Libaries? Using the > singularity shell to navigate into petsc and using gmakefile test throws an > „Read-only file system“ error, as expected. > Hm - you should be able to copy a petsc example, corresponding makefile to a read/write location, and compile/run it. Satish
